HTTP状态码(HTTP status codes)是用以表示服务器HTTP响应状态的三位代码,状态码的第一个数字代表了五个标准响应状态之一:
- 1xx (消息,Informational Response): 请求已经被服务器接收,继续处理;
- 2xx (成功,Successful): 请求已经被服务器成功接收、理解、接受;
- 3xx (重定向,Redirection):需要更进一步的操作来完成请求;
- 4xx (客户端错误,Client Error): 请求自身有语法错误或者无法实现,是请求本身的错误;
- 5xx (服务器错误,Server Error): 服务器未能实现合法的请求,是服务器本身的错误而不是请求出错。
常见的HTTP状态码
200 OK
成功的HTTP请求的标准响应,实际的响应将取决于请求方法。如:在GET请求中,响应将包含与所请求的资源相对应的实体。
400 Bad Request
由于请求自身的错误(如:请求本身有语法错误,请求参数有误),服务器无法理解请求或者不会处理请求。
403 Fobidden
请求是有效的,但是服务器拒绝提供服务。用户可能没有请求资源的必要的权限,或者需要某种账户。
404 Not Found
找不到所请求的资源。
502 Bad Gateway
充当网关或者代理的服务器尝试执行请求时从上游服务器收到的无效响应。
503 Service Unavailable
服务器因为过载或维护而不可用。一般而言,这是一种临时状态。
504 Gateway Timeout
充当网关或代理的服务器未从上游服务器收到及时的响应。
HTTP状态码总结(总结自维基百科)
1xx 消息(Informational Response)
100 Continue
服务器已经收到了请求头,客户端应该继续发送请求正文(如果需要的话,例如POST请求)。
101 Switching Protocols
请求者已经要求服务器切换协议,服务器已经同意并且准备切换。
102 Processing
由WebDAV扩展的状态码。WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成。此状态码表示服务器已收到并正在处理请求,但尚未提供响应,可以防止客户端超时和假设请求丢失。
103 Early Hints
用于在最终HTTP响应之前返回一些响应头。
2xx 成功(Success)
200 OK
成功的HTTP请求的标准响应,实际的响应将取决于请求方法。如:在GET请求中,响应将包含与所请求的资源相对应的实体。
201 Created
请求已经被实现,新的资源已经依据请求的需要而建立。
202 Accepted
服务器已经接受请求,但请求尚未被处理,该请求最终可能不会被处理。
203 Non-Authoritative Information
作为转换代理的服务器(如:网络加速器)从信息来源接收200 OK,但返回的是原始响应的修改版本。
204 No Content
服务器成功处理了请求,但未返回任何内容。
205 Reset Content
服务器成功处理了请求,但未返回任何内容。与204 No Content不同,此响应要求请求者重置文档视图。
206 Partial Content
由于客户端发送了的请求头中带有Range参数,服务器仅提供了部分资源(字节服务)。HTTP客户端使用Range参数来进行断点续传或将一个大文档分解为多个下载段同时下载。
207 Multi-Status
响应体是一条XML消息,可以包含许多单独的响应代码,具体取决于之前的的子请求数量。
208 Already Reported
一个DAV绑定的成员已经在响应的前一部分中枚举,并且不再被包括。
226 IM Used
服务器已完成对资源的请求,响应是应用于当前实例的一个或多个实例操作的结果的表示。
3xx 重定向(Redirection)
300 Multiple Choices
表示客户端可以选择所请求资源的多个选项。例如,此状态码可用于显示多个视频格式选项,列出具有不同文件扩展名的文件。
301 Moved Permanently
请求的资源已经永久移动到新位置,应将此请求和将来所有的请求定向到给定的URI。
302 Found (Previously "Moved temporarily")
告诉客户端查看另一个URL。已被303和307取代。
303 See Other
可以使用GET方法在另一个URI下找到对请求的响应。当收到POST(或PUT,DELETE)响应时,客户端应该假设服务器已收到数据,并应向给定的URI发出新的GET请求。
304 Not Modified
自从上次请求后,请求的网页未修改过。在这种情况下,不需要重新传输资源,因为客户端仍然具有先前下载的副本。
305 Use Proxy
请求的资源仅可通过代理获得,代理的地址在响应中提供。
306 Switch Proxy
这种响应已经不再使用。原意是“后续请求应使用指定的代理”。
307 Temporary Redirect
在这种情况下,请求应该使用另一个URI来重复; 但是,未来的请求仍应使用原始URI。与历史上实现302的方式相反,在重新发出原始请求时不允许更改请求方法。例如,应使用另一个POST请求重复POST请求。
308 Permanent Redirect
应使用另一个URI重复请求和将来所有的请求。307和308与302和301的行为相同,但不允许HTTP方法改变。
4xx 客户端错误(Client Error)
400 Bad Request
由于请求自身的错误(如:请求本身有语法错误,请求参数有误),服务器无法理解请求或者不会处理请求。
401 Unauthorized
与403 Forbidden类似,但专门用于需要HTTP基本认证且已失败或尚未提供的情况。
402 Payment Required
保留以供将来使用。 最初的用意是这个状态码可能被用作某种形式的数字现金或支付方案的一部分。
403 Fobidden
请求是有效的,但是服务器拒绝提供服务。用户可能没有请求资源的必要的权限,或者需要某种账户。
404 Not Found
找不到所请求的资源。
405 Method Not Allowed
请求的资源不支持该请求方法。
406 Not Acceptable
请求的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容。
407 Proxy Authentication Required
客户端必须首先使用代理进行身份验证。
408 Request Timeout
服务器等待请求超时。
409 Conflict
表示由于资源的当前状态发生冲突而无法处理请求,服务器在完成请求时发生冲突。
410 Gone
表示请求的资源不可用,并且不再可用。收到410状态代码后,客户端将来不应该请求该资源。 搜索引擎等客户应该从索引中删除资源。
411 Length Required
请求未指定其内容的长度,而这又是请求的资源所需的。
412 Precondition Failed
服务器不满足请求者对请求提出的前提条件之一。
413 Payload Too Large
请求太大以至于服务器无法处理。
414 URI Too Long
提供的URI太长以至于服务器无法处理。
415 Unsupported Media Type
请求正文具有服务器或资源不支持的媒体类型。
416 Range Not Satisfiable
客户端请求文件的一部分,但服务器无法提供该部分。
417 Expectation Failed
在请求头Expect中指定的预期内容无法被服务器满足。
418 I'm a teapot
这一状态码是在1998年作为IETF的传统愚人节笑话, 并不需要在真实的HTTP服务器中定义。当一个控制茶壶的HTCPCP收到BREW或POST指令要求其煮咖啡时应当传回此错误。这个HTTP状态码在某些网站与项目中用作彩蛋。
421 Misdirected Request
该请求针对的是无法生成响应的服务器。
422 Unprocessable Entity
请求格式正确,但由于语义错误而无法响应。
423 Locked
正在访问的资源已被锁定。
424 Failed Dependency
请求失败,因为它依赖于另一个已经失败的请求。
426 Upgrade Required
客户端应切换到如TLS / 1.0。
428 Precondition Required
先决条件是客户端发送 HTTP 请求时,必须要满足的一些预设条件。428表示客户端必须发送含有先决条件的请求头才能执行该请求。
429 Too Many Requests
用户在给定的时间内发送了太多请求。
431 Request Header Fields Too Large
服务器无法处理请求,因为请求头太大。
451 Unavailable For Legal Reasons
服务器运营商已收到合法要求,拒绝访问包含所请求资源的资源或资源集,即由于法律原因所请求的资源不可用。
5xx 服务器错误(Server Error)
500 Internal Server Error
服务器因内部错误无法完成请求。
501 Not Implemented
服务器不具备完成请求的功能,要么不能识别请求方法,要么无法满足请求。
502 Bad Gateway
充当网关或者代理的服务器尝试执行请求时从上游服务器收到的无效响应。
503 Service Unavailable
服务器因为过载或维护而不可用。一般而言,这是一种临时状态。
504 Gateway Timeout
充当网关或代理的服务器未从上游服务器收到及时的响应。
505 HTTP Version Not Supported
服务器不支持请求中使用的HTTP协议版本。
506 Variant Also Negotiates
服务器存在内部配置错误。
507 Insufficient Storage
服务器无法存储完成请求所必须的内容。
508 Loop Detected
服务器在处理请求时检测到无限循环。
510 Not Extended
服务器需要进一步扩展请求才能实现它。
511 Network Authentication Required
客户端需要进行身份验证才能获得网络访问权限。
600 Unparseable Response Headers
源站没有返回响应头部,只返回实体内容。