前言
平时在进行网页浏览时,经常会遇到一些HTTP状态码,那么这些状态码具体有什么含义呢?今天我们就来聊聊这些状态码。
一、HTTP状态码是什么?
话不多说,直接上图:
上图中是内容是百度百科对HTTP状态码的定义。那么有哪些状态码,每个状态码具体代表什么含义?带着这些问题,我们去看下第二章的内容。
二、HTTP状态码具体含义(部分)
1.消息(临时响应):1xx
这一类型的状态码,代表请求已被接受,需要继续处理。常见的有以下几种:
- 100 (Continue) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第⼀部分,正在等待其余部分。
- 101 (Switching Protocols) 请求者已要求服务器切换协议,服务器已确认并准备切换。
- 102 (Processing) 表示处理将继续被执行
2.成功:2xx
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。常见的有以下几种:
200 (OK) 表示请求已经被正常处理
201 (Created) 请求成功并且服务器创建了新的资源。
202 (Accepted) 服务器已接受请求,但尚未处理。
203 (Non-Authoritative Information) 服务器已成功处理了请求,但返回的信息可能来⾃另⼀来源。
205 (Reset Content) 服务器成功处理了请求,但没有返回任何内容。
206 (Partial Content) 服务器成功处理了部分 GET 请求。
3.重定向:3xx
这类状态码代表需要客户端采取进一步的操作才能完成请求。常见的有以下几种:
300 (Multiple Choices) 针对请求,服务器可执⾏多种操作。 服务器可根据请求者(user agent) 选择⼀项操作,或提供操作列表供请求者选择。
301 (Moved Permanently) 永久性重定向,请求的资源已经被分配了新的URI,以后应使用资源现在所指的URI。
302 (Move Temporarily) 服务器⽬前从不同位置的⽹⻚响应请求,但请求者应继续使⽤原有位置来进⾏以后的请求。
303 (See Othe) 请求者应当对不同的位置使⽤单独的 GET 请求来检索响应时,服务器返回此代码。
304 (Not Modified) ⾃从上次请求后,请求的⽹⻚未修改过。 服务器返回此响应时,不会返回⽹⻚内容。
305 (Use Proxy) 请求者只能使⽤代理访问请求的⽹⻚。 如果服务器返回此响应,还表示请求者应使⽤代理。
307 (Temporary Redirect) 临时重定向。与302有相同的含义。
4.请求错误:4xx
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见的有以下几种:
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) 服务器等候请求时发⽣超时。
5.服务器错误:5xx
这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见的有以下几种:
500 (Internal Server Error) 服务器遇到错误,⽆法完成请求。该状态码表明服务器端在执行请求时发生了错误。也有可能是web应用存在bug或某些临时故障。
501 (Not Implemented) 服务器不具备完成请求的功能。 例如,服务器⽆法识别请求⽅法时可能会返回此代码。
502 (Bad Gateway) 服务器作为⽹关或代理,从上游服务器收到⽆效响应。
503 (Service Unavailable) 服务器正忙,暂时无法使用(由于超载或停机维护)。该状态码表明服务器暂时处于超负载或正在停机维护,现在无法处理请求。
504 (Gateway Timeout) 服务器作为⽹关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP Version Not Supported) 服务器不⽀持请求中所⽤的 HTTP 协议版本。
三 、总结
以上是一些常见的HTTP状态码,其中红色字体的尤为常见。本人水平有限,若有不足或者不当之处,还请补充或指正!