无需登录 数据私有 本地保存

HTTP 状态码互动参考表 - 含场景与原因短语

12
0
0
0

HTTP 状态码互动参考表

收录 55+ 个HTTP状态码,覆盖5大分类。点击卡片查看真实场景原因短语,支持搜索与分类筛选。

1xx 信息 4 2xx 成功 10 3xx 重定向 8 4xx 客户端错误 23 5xx 服务端错误 10
全部 55 1xx 信息 4 2xx 成功 10 3xx 重定向 8 4xx 客户端错误 23 5xx 服务端错误 10

没有找到匹配的状态码

试试调整筛选条件或搜索关键词

常见问题与知识点

了解HTTP状态码的核心概念,帮助开发和调试

HTTP状态码(HTTP Status Code)是服务器在响应客户端请求时返回的三位数字代码,用于表示请求的处理结果。它是HTTP协议的核心组成部分,帮助客户端(浏览器、API调用方等)快速判断请求是否成功、是否需要进一步操作。状态码由RFC 9110等标准文档定义,确保全球Web通信的一致性。

  • 1xx(信息响应):请求已接收,继续处理中。如100 Continue表示服务器已收到请求头,客户端可以继续发送请求体。
  • 2xx(成功):请求被成功接收和处理。200 OK是最常见的成功响应,201 Created表示资源已创建。
  • 3xx(重定向):需要进一步操作才能完成请求。301表示永久重定向,302表示临时重定向,304表示资源未修改可使用缓存。
  • 4xx(客户端错误):请求有误或无法被处理。404是最著名的状态码,表示资源未找到;401需要认证,403禁止访问。
  • 5xx(服务端错误):服务器在处理请求时出错。500是通用服务器错误,502是网关错误,503表示服务不可用。

301 Moved Permanently 表示资源永久性移动到了新URL。搜索引擎会将权重转移到新地址,浏览器会缓存这个重定向。适用于网站改版、域名更换等场景。

302 Found 表示资源临时性移动。搜索引擎通常保留原URL的索引,浏览器不会长期缓存。适用于临时维护、A/B测试、临时跳转等场景。

注意:对于永久重定向,HTTP/1.1还引入了308 Permanent Redirect,它严格保持请求方法不变(POST不会变成GET),而301在某些浏览器中可能改变请求方法。

401 Unauthorized:表示用户未通过身份验证(没有登录或凭证无效)。服务器返回401时通常会附带WWW-Authenticate头,提示客户端提供认证信息。通俗讲就是"你是谁?请先证明你的身份"。

403 Forbidden:表示服务器已经知道了用户身份,但该用户没有权限访问所请求的资源。即使用户重新认证也无法解决,因为问题在于权限而非身份。通俗讲就是"我知道你是谁,但你不能进这个房间"。

204 No Content:请求成功但没有内容返回。常用于DELETE操作后确认删除成功、或PUT/PATCH更新后无需返回数据。客户端收到204后应保持当前视图不变。也常用于埋点、统计上报等"发后即忘"的场景。

304 Not Modified:资源未被修改,客户端可以使用本地缓存。这是缓存机制的关键——当客户端发送带If-None-Match或If-Modified-Since头的请求时,服务器比对后发现资源未变化则返回304,节省带宽。

429 Too Many Requests 表示用户在短时间内发送了过多请求,触发了服务器的速率限制(Rate Limiting)。服务器通常会在响应头中通过Retry-After字段告知客户端需要等待多久才能重新发送请求。

应对策略:实现指数退避重试、查看API文档了解速率限制规则、使用请求队列控制并发数、为高频接口添加本地缓存以减少不必要的请求。

502 Bad Gateway:通常在反向代理/网关场景中出现,表示代理服务器从上游服务器收到了无效响应。常见原因:后端服务崩溃、PHP-FPM超时、Nginx配置错误、上游服务器返回了格式错误的响应。

503 Service Unavailable:服务器暂时无法处理请求,通常因为过载或维护。常见原因:服务器负载过高、正在进行部署维护、数据库连接池耗尽。服务器可能返回Retry-After头告知预计恢复时间。

451 Unavailable For Legal Reasons 是一个相对较新的状态码(RFC 7725),表示资源因法律原因无法访问。数字451致敬了雷·布莱伯利的小说《华氏451度》。

典型场景包括:因版权投诉被下架的内容、受政府审查限制的页面、法院命令要求屏蔽的网站。使用此状态码时,服务器可以在响应体中说明具体的法律限制原因,帮助用户理解访问被拒的理由。