首页 > 代码库 > Http协议状态码总结

Http协议状态码总结

一、http方法

方法名说明
get发送一个获取请求,服务器的响应会包含head与body部分
post发送一个输入数据的请求,服务器的响应会包含head与body部分
head服务器响应的只有head部分
put向服务器发送一个文件(资源)
trace目的服务器在响应请求的时候,会在主体中带上原始的请求报文,用于客户端对比防火墙、代理、网关等对数据做的改变
options请求服务器告知web服务器支持的功能
delete请求服务器删除url指定的资源

二、http常用状态码

1. 100~199信息状态码

状态码说明
101 switching protocols进行协议切换,通过upgrade响应头实现,服务器在以送完还upgrade响应后就会切换为指定的协议。如:http1.0升级为http1.1等。

2. 200~299成功状态码

状态码说明
200 ok请求已成功,请求所希望的响应头和数据体都随此响应返回
201 created请求已被接受,新资源已依据请求的需求要而建立(到达处理程序)。
202 Accepted请求已被服务器接受,但尚未处理,响应202状态码是来了让客户端也可以发送另外的请求。
203 non-authoritative information服务器成功处理请求,但返回的实体头部元信息不是来自原始服务器上有效的确定集合,而是来自本地或第三方的拷贝。当前信息可能是原始版本的子集或超集
204 no content请求处理完成,响应只有实体头,没有实体内容,客户端可以不重置视图
205 reset content与204的响应一致,但要求客户端重置响应视图
206 partial content部分响应,断点续传 或 大文件分块传递就是这个响应头

3. 300 ~ 399重定向状态码

状态码说明
300 Multiple Choices被请求的资源有一系列可供选择的回馈信息,根据头元信息重定向
301 Moved Permanently永久重定向,重定向URL在应该在响应的head中的location上,如果没有重定向URL应该也包含在响应体中;如果不是get和head请求,浏览器会禁止重定向,除非用户确认;http/1.0发送post请求,响应的是301,接下来重定向的也会变成get请求
302 Move temporarily临时重定向,其他与301一样。但cache-control或expires头可以缓存
303 see other当前请求在另一个url上,而客户端应该采用get,303不能缓存,第二个请求可以;http/1.1处理303与302是一致的(大部分浏览器)
304 not modified客户端发送一个带条件get请求,返回304表示缓存
305 use proxy指定的资源在指定的代理上,location上包含代理所在的url上
307 temporary redirect与302一致

4. 400~499错误状态码

状态码说明
400 bad requrest客户端发送了一个错误的请求
401 unauthorized要求客户端访问此资源前,需要对自己进行认证
403 forbidden说明请求被服务器拒绝,此类一般情况下服务器不愿意说明原因
404 not found找不到资源
405 method not allowed发送的请求所还的方法服务端资源不支持,响应中应该包含allow头部
406 not acceptable客户端可以指定自己愿意接受什么样的资源,如果服务端不能提供返回此状态码

5. 500~599状态码

状态码说明
500 internal server error服务器内部错误
501 not implemented客户端请求超出服务器的能力范围(如:服务器不能支持客户端请求的方法)
502 bad gateway作用代理网关使用的服务器从请求响应的下一条链路上收到了一条伪响应(如:它无法连接到父其网关)
503 service unavailable服务器现不能完成请求的处理,但将来可以
505 http version not supported服务器不支持此协议版本

Http协议状态码总结