HTTP 状态码
完整的 HTTP 状态码参考指南,包含所有标准状态码的详细说明、使用场景和示例。帮助开发者快速查询和理解 HTTP 响应码含义。
100
Continue
继续
服务器已收到请求头,客户端应继续发送请求主体。常用于客户端需要发送大量数据时。
101
Switching Protocols
切换协议
服务器已理解并愿意遵守客户端的请求,通过 Upgrade 头字段切换到不同的协议。常用于 WebSocket 连接建立。
102
Processing
处理中
服务器已收到并正在处理请求,但还没有响应可用。用于防止客户端超时。
103
Early Hints
早期提示
主要用于与 Link 头一起使用,允许用户代理在服务器准备响应时开始预加载资源。
200
OK
成功
请求已成功,请求所希望的响应头或数据体将随此响应返回。这是最常见的 HTTP 状态码。
201
Created
已创建
请求已经被实现,新的资源已经依据请求的需要而建立。通常在 POST 请求或某些 PUT 请求之后返回。
202
Accepted
已接受
服务器已接受请求,但尚未处理。请求最终可能会也可能不会被执行。用于异步处理。
203
Non-Authoritative Information
非权威信息
服务器是一个转换代理,已成功处理请求,但返回的实体头部可能是来自原始服务器的副本。
204
No Content
无内容
服务器成功处理了请求,但不需要返回任何实体内容。常用于 DELETE 或 PUT 请求的响应。
205
Reset Content
重置内容
服务器成功处理了请求,但没有返回任何内容。与 204 不同的是,此响应要求请求者重置文档视图。
206
Partial Content
部分内容
服务器已经成功处理了部分 GET 请求。常用于断点续传或分段下载。
300
Multiple Choices
多种选择
被请求的资源有一系列可供选择的回馈信息,用户或浏览器能够自行选择一个首选的地址进行重定向。
301
Moved Permanently
永久移动
被请求的资源已永久移动到新位置。搜索引擎会更新其索引。应该使用新的 URI 访问资源。
302
Found
临时移动
请求的资源临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应继续使用原有 URI。
303
See Other
查看其他位置
对应当前请求的响应可以在另一个 URI 上被找到,客户端应使用 GET 方法获取请求的资源。
304
Not Modified
未修改
资源未被修改。客户端可以使用缓存的版本。常用于条件 GET 请求,可以减少数据传输。
307
Temporary Redirect
临时重定向
请求的资源临时从不同的 URI 响应请求。与 302 不同的是,客户端应继续使用原有的请求方法。
308
Permanent Redirect
永久重定向
资源已永久移动到新位置。与 301 不同的是,客户端应继续使用原有的请求方法。
400
Bad Request
错误请求
服务器无法理解请求的格式。客户端不应该在未修改的情况下重复此请求。常见于语法错误或参数错误。
401
Unauthorized
未授权
请求要求用户的身份认证。客户端必须提供有效的身份验证凭据才能访问资源。
402
Payment Required
需要付款
该状态码被保留以便将来使用。最初的意图是用于数字支付系统。
403
Forbidden
禁止访问
服务器理解请求,但拒绝执行。与 401 不同,身份验证不会改变响应结果。常见于权限不足。
404
Not Found
未找到
请求的资源在服务器上不存在。这是最常见的错误状态码之一。URL 可能拼写错误或资源已被删除。
405
Method Not Allowed
方法不被允许
请求使用的 HTTP 方法不被允许。例如,对只读资源使用 POST 方法。
406
Not Acceptable
不可接受
请求的资源的内容特性无法满足请求头中的条件,因此无法生成响应实体。
407
Proxy Authentication Required
需要代理授权
客户端必须先通过代理服务器进行身份验证。
408
Request Timeout
请求超时
服务器等待客户端发送的请求时间过长,超时。客户端可以随时再次提交这一请求。
409
Conflict
冲突
由于和被请求的资源的当前状态之间存在冲突,请求无法完成。常见于并发更新冲突。
410
Gone
已删除
请求的资源在服务器上已经不可用,且没有已知的转发地址。与 404 不同,410 表明这是永久性的。
411
Length Required
需要内容长度
服务器拒绝在没有定义 Content-Length 头的情况下接受请求。
412
Precondition Failed
前提条件失败
服务器在验证请求的头字段中给出的前提条件时,发现至少有一个前提条件不满足。
413
Payload Too Large
请求实体过大
服务器拒绝处理当前请求,因为请求的实体数据大小超过服务器愿意或能够处理的范围。
414
URI Too Long
请求 URI 过长
请求的 URI 长度超过了服务器能够解释的长度。
415
Unsupported Media Type
不支持的媒体类型
请求中提交的实体并不是服务器支持的格式。
416
Range Not Satisfiable
请求范围不符合要求
客户端请求的范围无效。常见于断点续传时请求的范围超出文件大小。
417
Expectation Failed
期望失败
服务器无法满足 Expect 请求头中指定的期望条件。
418
I'm a teapot
我是茶壶
这是一个愚人节玩笑,源自 1998 年的 RFC 2324。服务器拒绝煮咖啡因为它是个茶壶。
421
Misdirected Request
请求错误定向
请求被定向到无法产生响应的服务器。
422
Unprocessable Entity
无法处理的实体
请求格式正确,但由于语义错误而无法处理。常用于表单验证失败。
423
Locked
已锁定
当前资源被锁定。常用于 WebDAV。
424
Failed Dependency
依赖失败
由于之前的某个请求发生的错误,导致当前请求失败。
425
Too Early
太早
服务器拒绝处理在 Early Data 中的请求,以规避可能的重放攻击。
426
Upgrade Required
需要升级
服务器拒绝使用当前协议执行请求,但可能在客户端升级到不同的协议后愿意执行。
428
Precondition Required
需要前提条件
服务器要求请求是有条件的。用于防止'丢失更新'问题。
429
Too Many Requests
请求过多
用户在给定的时间内发送了太多的请求。常用于限流或防止滥用。
431
Request Header Fields Too Large
请求头字段太大
服务器拒绝处理请求,因为请求头字段太大。
451
Unavailable For Legal Reasons
因法律原因不可用
该资源因法律原因不可用。常用于因版权、审查等原因无法访问的内容。
500
Internal Server Error
服务器内部错误
服务器遇到意外的情况,阻止其执行请求。这是服务器端最常见的错误状态。
501
Not Implemented
未实现
服务器不支持请求的功能,无法完成请求。例如,服务器无法识别请求方法。
502
Bad Gateway
错误的网关
作为网关或代理工作的服务器从上游服务器收到无效响应。
503
Service Unavailable
服务不可用
服务器暂时无法处理请求。通常是由于服务器过载或维护。这通常是暂时状态。
504
Gateway Timeout
网关超时
作为网关或代理工作的服务器,未能及时从上游服务器收到请求。
505
HTTP Version Not Supported
HTTP 版本不支持
服务器不支持请求中所用的 HTTP 协议版本。
506
Variant Also Negotiates
变体协商错误
服务器存在内部配置错误,请求的透明内容协商导致循环引用。
507
Insufficient Storage
存储空间不足
服务器无法存储完成请求所必须的内容。常用于 WebDAV。
508
Loop Detected
检测到循环
服务器在处理请求时检测到无限循环。
510
Not Extended
未扩展
客户端需要对请求进一步扩展,服务器才能实现它。
511
Network Authentication Required
需要网络认证
客户端需要进行身份验证才能获得网络访问权限。常用于需要登录的公共 WiFi。
什么是 HTTP 状态码?
HTTP 状态码是服务器对客户端请求的标准响应代码。每个状态码都是一个三位数字,第一位数字定义了响应的类别。理解这些状态码对于 Web 开发、API 调试和问题排查非常重要。
状态码分类
- 1xx (信息响应) - 表示请求已被接收,继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息。
- 2xx (成功响应) - 表示请求已成功被服务器接收、理解并接受。这是最常见的成功响应类型。
- 3xx (重定向) - 表示需要客户端采取进一步的操作才能完成请求。通常用于重定向,这类状态码用来告诉客户端使用新的 URL 重新发送请求。
- 4xx (客户端错误) - 表示客户端看起来可能发生了错误,妨碍了服务器的处理。例如请求语法错误、请求无法完成、请求页面不存在等。
- 5xx (服务器错误) - 表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生。