HTTP协议状态码
常用的不多,其余的权当了解一下
1** 信息性状态码
100 continue
:服务器端收到了初始部分,请客户端继续
注:这个状态码是一种优化,客户端应用程序只有在避免向服务器发送一个服务器无法处理或者使用的大的实体时,才使用这个状态码
101 switching protocol
:服务器正在根据客户端的指定,将协议切换成update首部所列的协议
2** 成功状态码
200 ok
:请求成功,响应报文的主体部分包括了所请求的资源201 created
:用于创建服务器对象的请求,例如put
202 Accepted
:请求已经被接受,但是服务器还未对齐执行任何操作203 Not-Authoritative
:实体首部包含的信息不是来自于源端服务器,而是来自于资源的一个副本。204 no content
:响应报文的主体部分没有内容205 reset Content
:用于重置表单内容206 partial content
:成功执行一个部分请求,一般这种响应的请求报文的首部字段都有一个content-range
字段
3** 重定向状态码
300 multiple choice
:请求的url对应着服务器的多个资源301 moved permanently
:请求的url已经被移除了302 found
:客户端应该使用location
首部给出的URL来临时定位资源,将来的请求仍然使用老的URL303 see other
:告知客户端应该使用另外一个URL来获取资源304 not modified
:客户端请求的资源并没有被修改,在协商缓存的时候通过expire
或者Etag
来判断307 temporary redirect
:客户端应该使用location
首部给出的URL来临时定位资源,将来的请求仍然使用老的UR
302,303,307之间的区别:
当HTTP/1.0客户端发起一个POST请求,并在响应中收到302重定向状态码时,它会接受Location首部的重定向URL,并向那个URL发起一个GET请求(实际上并不希望用GET来代替POST,这种行为实际上时不合法的)。
在HTTP/1.1规范使用303状态码来实现同样的行为(承认POST变GET的合法性)
对于HTTP/1.1客户端,用307状态码取代302状态码来进行临时重定向。(实际上时实现了HTTP/1.0中302的理想型作用,不会将POST变为GET)
4** 客户端错误的状态码
400 bad request
:客户端发送了一个错误的请求401 Unauthorized
:告知客户端在对资源进行访问之前,需要对自身进行认证403 forbidden
:请求被服务器拒绝了404 not found
:服务器无法找到这个资源405 method not allow
:这个资源不支持请求发起的方法408 request timeout
:请求超时409 conflict
:请求可能在资源上会引起一些冲突410 gone
:请求的资源已经被删除了
5** 服务器端错误的状态码
500 Internal Server Error
:服务器内部发生错误501 no implement
:客户端发起的请求超出了服务器的能力范围502 bad gateway
网关错误503 Service Unavailable
:服务器现在不可用504 gateway timeout
:网关请求超时505 HTTP version not support
:不支持这个版本的http协议。