HTTP状态码总结

前言



当我们使用客户端访问网页时,客户端会向网页所在的web服务器发送请求。

该web服务器接着会根据接收到的请求,在向客户端发送响应信息和在客户端接收并显示网页前,返回一个包含HTTP状态码的信息头用以响应浏览器的请求,代表了请求得结果。就像是你从网上订购一个东西,卖家会在发货前告诉你货物的信息或有无产品。

同步观察状态码,可以使用我们初步的判端web访问的问题的原因。



状态码查看方式:
打开浏览器,按键盘上的F12
点击Network
刷新页面

HTTP状态码总结

Name: URL
Status :响应状态码
Type :响应数据类型
Size:响应数据大小
time :响应时间



最常见的HTTP状态码


200 :请求成功,成功返回网页
301 :资源(网页等)被永久转移到其它URL
404 :请求的网页或资源不存在
500 :内部服务器错误,无法完成请求
503 :请求未完成,服务器临时过载或宕机



HTTP状态码简介


HTTP状态码分为5种类型

通过第一个数字,判断状态码的类型(例如1xx、2xx)

2系列的状态码代表着成功



【1】HTTP状态码分类



  • 1系列:信息
    服务器收到请求,临时响应,需要请求者继续执行操作

  • 2系列:成功
    操作被成功接收并处理

  • 3系列:重定向
    需要进一步操作,来完成请求。通常,代表着重定向

  • 4系列:客户端错误
    客户端输入错误,请求包含语法错误,服务器无法处理

  • 5系列:服务器错误
    服务器问题,服务器在处理请求的过程中发生了错误



【2】HTTP状态码含义


每个状态码代表着不同的含义


状态码说明

100 Continue (继续)
请求者应当继续提出请求。服务器表示已收到部分请求,正在等待客户端继续发送其余部分


101 Switching Protocols (转换协议)
客户端已要求服务器转换协议,服务器已确认并准备转换到另外一种协议



200 OK (成功)
请求成功。服务器已成功处理了请求,提供了请求的页面


201 Created(已创建)
请求被创建完成并且新的资源被服务器创建


202 Accepted (已接受)
服务器已接受请求,但还未处理


203 Non-authoritative Information (非授权信息)
服务器已成功处理了请求,但返回的信息可能来自另外的来源


204 No Content (无内容)
服务器成功处理了请求,但没有返回任何内容


205 Reset Content (重置内容)
服务器成功处理请求,但没有返回任何内容,浏览器应该重置它所显示的内容。可通过此返回码,强制浏览器清除表单的输入内容


206 Partial Content (部分内容)
服务器成功处理了部分 GET 请求



300 Multiple Choices (多种选择)
请求的资源可包括多个位置,服务器可根据请求者选择一项操作,或提供操作列表供请求者选择相应可返回一个资源特征与地址的列表用于客户端选择


301 Moved Permanently (永久移动)
请求的页面已永久移动到新的url位置。 服务器返回此响应时,会自动将请求者转到新位置,即浏览器会将此请求自动定向到新URI,请求者之后应使用新的URl进行请求


302 Found (临时移动)
请求的页面已经临时转移至新的url,请求者应继续使用原有url来进行以后的请求


303 See Other(查看其他位置)
请求的页面可在别的url下被找到,请求者使用GET和POST请求查看.


304 Not Modified (未修改)
从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回任何资源即网页内容。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。而服务器会通知客户,原来的缓存继续使用


305 Use Proxy (使用代理)
请求者只能使用Location头所指明的代理服务器访问请求的网页
服务器返回此响应,表示请求者应使用代理


306 Unused 已经被废弃


307 Temporary Redirect( 临时重定向)
请求的页面已经临时转移至新的url,请求者应继续使用原有url来进行以后的请求



400 Bad Request (错误请求)
请求错误,服务器未能理解请求


401 Unauthorized (未授权)
被请求的页面需要用户名和密码


403 Forbidden(禁止)
服务器理解请求客户端的请求,但是服务器拒绝请求。禁止被请求页面的访问


404 Not Found(未找到)
服务器无法找到被请求的页面


405 Method Not Allowed(方法禁用)
禁用请求中指定的方法


406 Not Acceptable(不接受)
服务器无法根据客户端请求的内容特性完成请求


407 Proxy Authentication Required (需要代理授权)
与 401类似,但是指定请求者应当授权使用代理,先使用代理服务器进行验证,请求才会被处理


408 Request Timeout (请求超时)
服务器等待客户端发送的请求时,时间过长,发生超时


409 Conflict(冲突)
服务器在处理请求时发生冲突,请求无法被完成
服务器在处理客户端的PUT请求时可能返回此代码


410 Gone (已删除)
被请求的页面不可用,请求的资源已经不存在,服务器就会返回此响应。
资源以前有但现在被删除了


411 Length Required (需要有效长度)
“Content-Length” 未被定义。如果无此内容,服务器不会接受请求


412 Precondition Failed (未满足前提条件)
客户端请求信息的前提条件错误,服务器未能满足


413 Request Entity Too Large (请求实体过大)
请求实体过大,超出服务器的处理能力,服务器不会接受请求


414 Request-url Too Long (请求的 URI 过长)
请求的 URI过长,服务器无法处理
当post请求被转换为带有很长的查询信息的get请求时,会发生这种情况


415 Unsupported Media Type (不支持的媒体类型)

媒介类型不被支持,服务器无法处理请求附带的该媒体类型,拒绝接受请求


416 Requested range not satisfiable(请求范围不符合要求)
服务器不能满足客户在请求中指定的范围


417 Expectation Failed (未满足期望值)
服务器无法满足Expect的请求头信息



500 Internal Server Error(服务器内部错误)
服务器内部错误,无法完成请求


501 Not Implemented (尚未实施)
请求未完成,服务器不支持所请求的功能。
服务器无法识别请求方法时可能会返回此代码。


502 Bad Gateway (错误网关)
服务器作为网关或代理,从上游服务器收到无效的响应


503 Service Unavailable (服务不可用)
服务器临时过载或宕机,请求未完成。


504 Gateway Timeout (网关超时)
服务器作为网关或代理,但是没有及时从上游服务器收到请求。


505 HTTP Version Not Supported (HTTP 版本不受支持)
服务器不支持请求中所用的 HTTP 协议版本