HTTP 状态码(HTTP status code)大全
- 2024-05-12 21:48:00
- 丁国栋
- 来源:
- 七牛云
- 转贴 139
注:因为我原来使用Evernote存放笔记,但由于Evernote极不负责任的做法,我不再使用它的同步功能,为此我有些笔记无法及时记录下来。有时我会通过这样的形式将这些有用的文档/帖子/博文/手册/帮助等内容用本站博文的方式记录下来。如果侵权了请及时联系我撤销侵权的内容。
注:权威参考可前往 mozilla 官方站点 HTTP response status codes 查看。
标准扩展码
1xx Informational 报告性的提示信息
100 Continue 继续
101 Switching Protocols 交换协议
102 Processing 处理
2xx Success 成功
200 OK
201 Created 创建
202 Accepted 已接受
203 Non-Authoritative Information 非授权信息
204 No Content 无内容
205 Reset Content 重置内容
206 Partial Content 部分内容
207 Multi-Status 多状态
208 Already Reported 已报告
226 IMIM Used 使用的
3xx Redirection 重定向
300 Multiple Choices 多种选择
301 Moved Permanently 永久移动
302 Found 发现
303 See Other 查看其它
304 Not Modified 未修改
305 Use Proxy 使用代理
306 Switch Proxy 开关代理
307 Temporary Redirect 临时重定向
308 Permanent Redirect 永久重定向
4xx Client Error 客户端错误
400 Bad Request 错误的请求
401 Unauthorized 未授权
402 Payment Required 需要付费
403Forbidden 拒绝访问
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 太长
415 Unsupported Media Type 不支持的媒体类型
416 Range Not Satisfiable 的范围不合适
417 Expectation Failed 预期失败
418 I'm a teapot 我是一个茶壶(茶壶可不是用来煮咖啡的,可以理解为服务拒绝提供服务)
421 Misdirected Request 误导请求
422 Unprocessable Entity 无法处理的实体
423 Locked 锁定
424 Failed Dependency 失败的依赖
426 Upgrade Required 升级所需
428 Precondition Required 所需的先决条件
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 网络需要身份验证
524 发生超时(与504相似,常用于CDN回源超时时返回此代码,比如腾讯云的边缘安全加速EdgeOne、CloudFlare等都在使用)
非官方扩展码
103 Checkpoint 检查点
420 Method Failure (Spring Framework) 故障的方法(Spring框架)
420 Enhance Your Calm (Twitter) 增强您的平静(微博)
450 Blocked by Windows Parental Controls (Microsoft) 被Windows阻止家长控制(微软)
498 Invalid Token (Esri) 无效的令牌(ESRI的)
499 Token Required (Esri) 令牌必需(ESRI的)
499 Request has been forbidden by antivirus 请求已被禁止反病毒
509 Bandwidth Limit Exceeded (Apache Web Server/cPanel) 超出带宽限制(Apache的Web服务器/的cPanel)
530 Site is frozen 网站被冻结
互联网信息服务扩展状态码
440 Login Timeout 登录超时
449 Retry With 重新发送带
451 Redirect 重定向
NGINX 扩展状态码
444 No Response 没有响应
495 SSL Certificate Error 证书错误
496 SSL Certificate Required证书要求
497 HTTP Request Sent to HTTPS Port 发送到HTTPS端口请求
499 Client Closed Request 客户端请求关闭
以上内容参考维基百科:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
七牛扩展状态码
298 部分操作执行成功。
419 用户账号被冻结。
478 镜像回源失败。 主要指镜像源服务器出现异常。
573 单个资源访问频率过高
579 上传成功但是回调失败。 包括业务服务器异常;七牛服务器异常;服务器间网络异常。
599 服务端操作失败。
608 资源内容被修改。
612 指定资源不存在或已被删除。
614 目标资源已存在。
630 已创建的空间数量达到上限,无法创建新空间。
631 指定空间不存在。
640 调用列举资源 (list) 接口时,指定非法的marker参数。
701 在断点续上传过程中,后续上传接收地址不正确或ctx信息已过期。
--
1xx Informational 提示信息
100 Continue
服务器端确认已经收到请求头,向客户端发送 100 Continue,然后客户端就可以继续发送 request body(如果 request body 是必要的话,比如在 POST 请求中)。要触发服务器端的这种行为,那么在发起请求时就需要在 request header 中包括 Expect: 100-continue 这个请求头。如果服务器端在收到了 Expect: 100-continue 之后以 403 Forbidden 或者 405 Method Not Allowed 应答,那么客户端就不应该继续发送 request body。
如果服务器端以 417 Expectation Failed 应答,那么客户端应该在重新发起请求时不要带上 Expect 请求头,因为服务器端无法处理 Expect 请求头。
101 Switching Protocols
客户端向服务器端请求切换协议,服务器端同意切换。
102 Processing (WebDAV; RFC 2518)
一个 WebDAV 请求可能会包括多个涉及文件操作的子请求,需要耗费一些时间才能完成。102 状态码用于告知客户端请求已经收到并且正在处理,但是响应还没有准备好。这样可以防止客户端超时及认为请求没有成功发送。
103 Early Hints (RFC 8297)
在完整应答之前,用于向客户端先返回部分 HTTP 响应头用于提示重要资源的预先加载。
2xx Successful 请求成功
200 OK
表示请求成功完成的标准状态码。根据请求方法(request method)的不同,响应的内容也会不同。对于 GET 请求,那么响应内容就是被请求的资源。对于 POST 请求,响应内容通常是描述或者提供动作完成之后的结果。
201 Created
请求成功完成,并且结果是一个或者多个新的资源成功创建。如果创建成功的资源位于另外一个 URI 上,那么可以通过一个 Location 响应头部提示客户端跳转到新创建的 URI 上。
202 Accepted
请求被接受,但是处理还没有完成。通常用于客户端向服务器端提交批处理任务的情景。比如客户端提交了一个需要耗费很长时间计算的任务,服务器在接到请求但是计算结果还没有得出时可以返回 202 Accepted。之后如果客户端再次请求,数据已经计算完成时,再返回 200 OK。
203 Non-Authoritative Information (RFC 7231)
203 状态码表示请求成功,但是来自源站的 200 OK 内容被中间的代理服务器做了修改。
204 No Content
服务器的响应中不会包括任何内容。但是响应头中可能会有一些有用的新信息,因此客户端依然可以以此更新本地缓存中的响应头。
205 Reset Content (RFC 7231)
205 状态码表示服务器已经成功处理了请求,并且希望发起请求的客户端重置其「文档视图」,可能是一个用户可以输入数据的表单(form),记事本(notepad),或者画布(canvas)。这样当客户端收到这个状态码并重置之后,用户就可以继续输入其他新的数据。205 响应的正文部分应该是空的。即 Content-Length 应该为 0。
206 Partial Content
当客户端向服务器端通过 Range 请求头请求资源的部分内容,服务器成功响应时会使用 206 状态码。如果服务器端不支持 Range 请求,那么可能会以 416 Range Not Satisfiable 状态响应。
207 Multi-Status
208 Already Reported
226 IM Used
3xx Redirection 跳转
300 Multiple Choices
301 Moved Permanently
这次及将来所有的请求应该发送到服务器通过 Location 头部给出的新的 URI。意味着当前的这个地址已经永久性地转移到新地址。
302 Found (之前也被描述为 Moved Temporarily)
303 See Other (HTTP/1.1 新增)
304 Not Modified
305 Use Proxy (HTTP/1.1 中新增)
306 Switch Proxy
307 Temporary Redirect (HTTP/1.1 中新增)
308 Permanent Redirect (RFC 7538)
4xx Client Error 客户端错误
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
410 Gone
411 Length Required (RFC 7231)
412 Precondition Failed
413 Payload Too Large (RFC 7231)
414 URI Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed
418 I'm a teapot (RFC 2324; RFC 7168)
作为一个茶壶,服务器拒绝被用来煮咖啡。
The HTTP 418 I'm a teapot status response code indicates that the server refuses to brew coffee because it is, permanently, a teapot. A combined coffee/tea pot that is temporarily out of coffee should instead return 503. This error is a reference to Hyper Text Coffee Pot Control Protocol defined in April Fools' jokes in 1998 and 2014.
418 I'm a teapot 我是一个茶壶,表明服务器拒绝煮咖啡,因为它只是一个茶壶。茶壶或者咖啡壶没有咖啡了应该返回503.这个错误是参考自1998年4月1日愚人节的超文本咖啡壶协议。
Some websites use this response for requests they do not wish to handle, such as automated queries.
一些网站使用这个响应表示它拒绝处理这些请求,例如拒绝处理自动化查询。
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
425 Too Early
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
5xx Server Error 服务器端错误
服务器因为自身的问题而无法满足请求时会给出 5xx 系列的状态码。
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
NGINX
非常流行的 Web 服务器软件 NGINX 对 4xx 系列的状态进行了一些扩展,用于描述客户端请求中的问题。
NGINX 常用于反向代理其他 Web 服务,因此你有可能会在 NGINX 的日志中看到这些 NGINX 专有的状态码。
444 No Response
NGINX 的内部状态码,用于告知 Web 服务器不要向客户端返回任何信息(包括不会返回任何响应头部 response header)并立即关闭链接。
494 Request Header Too Large
客户端发送的请求头部(request header)太长。
495 SSL Certificate Error
对 400 Bad Request 的扩展,在客户端提供了不合法的证书时会返回 495 状态码。
496 SSL Certificate Required
对 400 Bad Request 的扩展,在需要客户端提供证书但是客户端未提供时会返回 496 状态码。
497 HTTP Request Sent to HTTPS Port
客户端错误地将 HTTP 明文请求发送到 HTTPS 端口时会收到 497 状态码。
499 Client Closed Request
在服务器发送响应之前,如果客户端就提前关闭了请求,那么这条请求会收到 499 状态码。
Cloudflare
Cloudflare 是互联网上非常流行的 CDN 服务,其对 5xx 系列状态码进行了扩展以描述其和源站(Origin)通讯时遇到的问题。
520 Web Server Returned an Unknown Error
源站服务器向 Cloudflare 返回了一个空的,或者未知的,或者无法解释的响应。
521 Web Server Is Down
源站服务器无法连接。
522 Connection Timed Out
Cloudflare 与源站服务器 TCP 握手过程超时。
523 Origin Is Unreachable
Cloudflare 无法找到源站服务器。比如,可能是在 Cloudflare DNS 中指定了错误的源站服务器地址。
524 A Timeout Occurred
Cloudflare 能够和源站完成 TCP 连接,但是在等待源站返回一个 HTTP 响应时超时。
525 SSL Handshake Failed
Cloudflare 在和配置了 SSL/TLS 的源站建立加密连接时失败。
526 Invalid SSL Certificate
源站的 SSL 证书无法通过 Cloudflare 的有效性验证。
Cloudflare could not validate the SSL certificate on the origin web server.527 Railgun Error
527 错误意味着 Cloudflare 和源站的 Railgun 服务器的连接遇到问题。常见的原因是防火墙干扰或者网络丢包。
530
530 错误通常会和一个 Cloudflare 专有的 1xxx 错误同时给出。
其他
514 Frequency Capped 超出频率上限,见于腾讯云CDN,EdgeOne(ECDN)产品,参见以下链接《边缘安全加速平台EO-异常状态码参考》;