HTTP协议错误码分为多个类别,每个类别代表了请求处理的不同阶段和性质。以下是HTTP状态码的一个详尽列表,按类别划分,包括常见的错误码及其含义:
1xx Informational(信息性状态码)
- 100 Continue:请求者应当继续其请求。
- 101 Switching Protocols:服务器根据请求切换协议。
2xx Success(成功状态码)
- 200 OK:请求已成功处理。
- 201 Created:请求成功并且服务器创建了新的资源。
- 202 Accepted:请求已被接受处理,但处理尚未完成。
- 203 Non-Authoritative Information:信息性响应,但不是原始服务器提供的。
- 204 No Content:请求成功,无内容返回。
- 205 Reset Content:重置内容,请求者应重置文档视图。
- 206 Partial Content:部分内容,服务器返回了范围请求的一部分。
3xx Redirection(重定向状态码)
- 300 Multiple Choices:多个选择,请求的资源可经由多个位置之一来回应。
- 301 Moved Permanently:永久移动,请求的资源已永久移动到新位置。
- 302 Found:临时移动,请求的资源临时位于另一URI。
- 303 See Other:查看其他位置,应使用GET定向获取请求的响应。
- 304 Not Modified:未修改,资源未改变,可以直接使用缓存。
- 307 Temporary Redirect:临时重定向,请求的资源临时指向另一个URI。
- 308 Permanent Redirect:永久重定向,与301类似,但明确要求保持方法和实体主体。
4xx Client Errors(客户端错误状态码)
- 400 Bad Request:服务器无法理解请求。
- 401 Unauthorized:请求要求用户的身份认证。
- 402 Payment Required:保留,将来使用。
- 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
- 404 Not Found:请求的资源未找到。
- 405 Method Not Allowed:请求行中指定的请求方法不被允许。
- 406 Not Acceptable:无法满足请求的Accept头信息。
- 407 Proxy Authentication Required:要求代理身份认证。
- 408 Request Timeout:服务器等待请求时间过长。
- 409 Conflict:请求的资源与服务器上的资源冲突。
- 410 Gone:请求的资源已不再可用。
- 411 Length Required:请求未包含Content-Length头。
- 412 Precondition Failed:服务器未满足请求的先决条件。
- 413 Payload Too Large:请求实体过大。
- 414 URI Too Long:请求的URI过长。
- 415 Unsupported Media Type:不支持的媒体类型。
- 416 Range Not Satisfiable:请求范围无法满足。
- 417 Expectation Failed:期待的请求头字段未满足。
- 421 Misdirected Request:请求被导向错误的服务器。
- 422 Unprocessable Entity:请求格式正确但请求无法被处理。
- 423 Locked:资源被锁定。
- 424 Failed Dependency:请求失败,因为它依赖于另一个失败的请求。
- 425 Too Early:请求提前(用于HTTP/2)。
- 426 Upgrade Required:客户端需要升级协议才能完成请求。
- 428 Precondition Required:必须在请求中设置先决条件。
- 429 Too Many Requests:用户发送了太多请求。
- 431 Request Header Fields Too Large:请求头字段太大。
- 451 Unavailable For Legal Reasons:因法律原因不可用。
5xx Server Errors(服务器错误状态码)
- 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:客户端需要进行网络身份验证。
每个状态码都有其特定的含义,用于标识HTTP请求处理过程中的各种情况,无论是成功的、需要重定向的、客户端错误还是服务器端问题。
接下来就是通俗易懂版
1xx 类别(信息性状态码)
- 100 Continue:像绿灯一样,告诉客户端:“继续前进,你发送请求的路子是对的。”
- 101 Switching Protocols:服务器说:“咱们换种方式聊吧!”同意客户端改变通信协议的请求。
2xx 类别(成功状态码)
- 200 OK:一切顺利,请求成功处理了,就像任务完美完成。
- 201 Created:新建成功,你请求创建的东西已经在服务器上新鲜出炉了。
- 202 Accepted:收到,你的请求被接受了,但还没完全处理完。
- 203 Non-Authoritative Information:信息来了,但不是直接来自源头,可能有点间接。
- 204 No Content:啥都不用说,请求成功了,但没啥具体内容给你。
- 205 Reset Content:清空一下,你需要刷新页面或重置显示的内容。
- 206 Partial Content:只是一部分,请求的部分内容回来了,不是全部。
3xx 类别(重定向状态码)
- 300 Multiple Choices:选择题,资源有多种选项,得选一个。
- 301 Moved Permanently:搬家了,资源永久换了个新地址。
- 302 Found:临时挪了,资源临时在别的地方能找到。
- 303 See Other:另请高明,用GET方法去别的地方拿信息。
- 304 Not Modified:没变呢,你有缓存的版本还是最新的。
- 307 Temporary Redirect:又一临时转向,这次方法不变,去新地址看看。
- 308 Permanent Redirect:永久转向,和301类似,但强调方法不变。
4xx 类别(客户端错误状态码)
- 400 Bad Request:乱七八糟的请求,服务器看不懂你在说什么。
- 401 Unauthorized:未认证,需要用户名和密码才能进。
- 403 Forbidden:禁止访问,你没权限看这个。
- 404 Not Found:迷路了,找不到你要的页面。
- 405 Method Not Allowed:走错门了,这个地址不支持这种请求方式。
- 406 Not Acceptable:不合口味,服务器给不了你想要的那种格式的响应。
- 407 Proxy Authentication Required:代理需要认证,先通过代理的验证。
- 408 Request Timeout:超时了,服务器等你的请求等累了。
- 409 Conflict:冲突了,请求和服务器上的数据打架了。
- 410 Gone:消失了,你要的资源没了,以后也不会有了。
- 411 Length Required:缺长度,你需要告诉服务器你打算发多少数据。
- 412 Precondition Failed:前提不对,你设置的条件没满足。
- 413 Payload Too Large:太胖了,你的请求体太大,服务器消化不了。
- 414 URI Too Long:地址太长,你的URL超过了服务器能接受的长度。
- 415 Unsupported Media Type:格式不支持,你发送的数据类型服务器不认识。
- 416 Range Not Satisfiable:范围不对,你请求的资源片段服务器没有。
- 417 Expectation Failed:期望落空,服务器不能满足你的预先期望。
- 421-451:还有一些更专业的错误,比如请求被误导、法律原因不可用等。
5xx 类别(服务器错误状态码)
- 500 Internal Server Error:哎呀,服务器自己出错了,可能是程序bug。
- 501 Not Implemented:还没学会,服务器不支持请求的功能。
- 502 Bad Gateway:中间人犯错,服务器间的通讯有问题。
- 503 Service Unavailable:忙线中,服务器暂时没法处理请求。
- 504 Gateway Timeout:等太久,服务器之间的请求超时了。
- 505 HTTP Version Not Supported:版本不合,服务器不支持你的HTTP协议版本。
- 506-511:其他服务器端错误,比如需要网络认证、不支持请求扩展等。
这些错误码就像是服务器和客户端之间的小暗号,帮助理解请求处理是否顺利,以及哪里出了问题。以上就是两个版本的HTTP的错误码,希望对大家的开发过程中有所帮助。