HTTP 状态码速查
快速查询 HTTP 状态码含义,包含所有标准状态码说明
1xx 信息(4)
继续。客户端应继续发送请求的剩余部分。
切换协议。服务器已理解客户端请求,并通过 Upgrade 消息头通知客户端切换协议。
处理中。服务器已收到请求,正在处理,但尚未完成。
早期提示。用于在最终响应之前返回一些头信息,帮助客户端预加载资源。
2xx 成功(10)
成功。请求已成功处理,响应中包含请求的数据。
已创建。请求成功并创建了新的资源。通常用于 POST 请求。
已接受。请求已接受处理,但处理尚未完成。常用于异步处理。
非授权信息。服务器成功处理请求,但返回的信息可能来自第三方。
无内容。请求成功,但响应中不包含消息体。常用于 DELETE 请求。
重置内容。请求成功,客户端应重置文档视图。
部分内容。服务器成功处理了部分 GET 请求,用于断点续传。
多状态。多个状态码的响应(WebDAV)。
已报告。DAV 绑定成员已在之前的多状态响应中被列举(WebDAV)。
已使用 IM。服务器已完成 GET 请求,响应使用了实例操作。
3xx 重定向(8)
多种选择。请求的资源有多个表示形式,客户端需选择。
永久移动。请求的资源已永久移动到新位置,应使用新 URL。
临时移动。请求的资源现在临时从另一个 URL 响应。
查看其他。应使用 GET 方法访问另一个 URL 获取资源。
未修改。资源未被修改,客户端可使用缓存的版本。
使用代理(已废弃)。应通过指定代理访问资源。
临时重定向。请求应使用相同方法和消息体重定向到另一个 URL。
永久重定向。请求应使用相同方法永久重定向到另一个 URL。
4xx 客户端错误(29)
错误请求。服务器无法理解请求的格式,客户端应修改请求后重试。
未授权。请求需要用户身份验证。
需要付费。保留供将来使用,常用于付费内容。
禁止访问。服务器理解请求,但拒绝执行。
未找到。请求的资源不存在,最常见的状态码。
方法不允许。请求方法不被支持,响应中会包含 Allow 头。
不可接受。服务器无法根据客户端请求的内容类型返回响应。
需要代理身份验证。客户端必须先向代理服务器进行身份验证。
请求超时。服务器等待请求超时。
冲突。请求与服务器当前状态冲突,常用于 PUT 请求。
已删除。请求的资源已永久删除,不会再恢复。
需要长度。请求必须包含 Content-Length 头。
前置条件失败。请求头中指定的条件不满足。
请求实体过大。请求体超过了服务器愿意处理的大小。
URI 过长。请求的 URL 过长,服务器无法处理。
不支持的媒体类型。请求体的格式服务器不支持。
请求范围不满足。请求的范围无效。
期望失败。服务器无法满足请求头 Expect 字段的期望。
我是茶壶。RFC 2324 的彩蛋代码,表示服务器拒绝煮咖啡。
误导的请求。请求发送到了无法生成响应的服务器。
无法处理的实体。请求格式正确,但语义错误无法处理。
已锁定。请求的资源已被锁定(WebDAV)。
依赖失败。请求失败是因为之前的请求失败(WebDAV)。
太早。服务器不愿处理可能被重放的请求。
需要升级。客户端应切换到 TLS 协议。
需要前置条件。请求需要有条件头(如 If-Match)。
请求过多。用户发送请求过于频繁,应限制速率。
请求头字段过大。请求头太大,服务器无法处理。
因法律原因不可用。该资源因法律原因无法提供。
5xx 服务器错误(11)
服务器内部错误。服务器遇到意外情况,无法完成请求。
未实现。服务器不支持请求所需的功能。
错误网关。服务器作为网关或代理时,从上游收到无效响应。
服务不可用。服务器暂时无法处理请求,可能因过载或维护。
网关超时。服务器作为网关或代理时,等待上游响应超时。
HTTP 版本不支持。服务器不支持请求使用的 HTTP 版本。
变体也需协商。服务器配置有误,导致内容协商进入循环。
存储空间不足。服务器无法存储完成请求所需的资源(WebDAV)。
检测到循环。服务器在处理请求时检测到无限循环(WebDAV)。
未扩展。需要进一步扩展请求才能处理。
需要网络认证。需要进行网络认证才能继续(如热点登录)。
什么是 HTTP 状态码?
HTTP 状态码是服务器响应请求时返回的三位数字代码,用于表示请求的处理结果。状态码分为五类:1xx(信息响应)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。
正确理解 HTTP 状态码对于 Web 开发和调试非常重要。通过状态码,开发者可以快速判断请求是否成功、失败原因以及需要采取的措施。
使用方法
点击任意状态码卡片可复制该状态码。使用搜索框可快速查找特定状态码及其描述。点击分类标签可筛选查看特定类别的状态码。
状态码分类
- 1xx - 1xx 信息响应:表示请求已被接收,正在处理中。
- 2xx - 2xx 成功:表示请求已成功被服务器接收并处理。
- 3xx - 3xx 重定向:表示需要客户端进一步操作才能完成请求。
- 4xx - 4xx 客户端错误:表示客户端发送的请求有错误。
- 5xx - 5xx 服务器错误:表示服务器无法完成有效的请求。
常见问题 (FAQ)
Q: 最常见的 HTTP 状态码有哪些?
A: 最常见的有:200(成功)、301(永久重定向)、302(临时重定向)、400(错误请求)、401(未授权)、403(禁止访问)、404(未找到)、500(服务器内部错误)、502(错误网关)、503(服务不可用)。
Q: 401 和 403 有什么区别?
A: 401 表示用户未进行身份验证,需要登录;403 表示用户已验证但无权访问该资源。简单来说,401 是「你是谁」,403 是「你不能访问」。
Q: SEO 相关的状态码有哪些?
A: SEO 中重要的状态码:200(正常页面)、301(永久重定向,传递权重)、302(临时重定向,不传递权重)、404(页面不存在)、410(页面已删除)、503(临时不可用)。正确使用这些状态码有助于搜索引擎理解网站状态。
Q: 什么时候应该使用 301 vs 302 重定向?
A: 301 用于永久性重定向,搜索引擎会将权重转移到新 URL;302 用于临时性重定向,搜索引擎保留原 URL 的权重。网站改版、更换域名用 301;活动页面、临时跳转用 302。
Q: 为什么会出现 429 状态码?
A: 429 表示请求过于频繁,触发服务器的速率限制。客户端应查看响应头 Retry-After,等待指定时间后重试。这是 API 常见的保护机制。