完整的HTTP状态码参考资料,包含详细说明和常见原因
HTTP状态码参考是一份全面的HTTP响应状态码速查手册。当客户端向服务器发送HTTP请求时,服务器会返回一个三位数字的状态码,表示请求的处理结果。状态码是HTTP协议的核心组成部分,从1xx(信息性)到5xx(服务器错误),每个状态码都有明确的语义。理解状态码对于Web开发者调试API、排查网站问题、设计合理的错误处理机制至关重要。本参考手册涵盖所有标准HTTP状态码,按类别分组整理,附带每个状态码的含义、使用场景和处理建议,帮助开发者快速定位和理解HTTP通信中的各种响应状态。
调用API返回非200状态码时,快速查阅状态码含义,理解请求失败原因并修正请求参数。
为网站设计友好的错误页面(404、500等),需要理解各错误状态码的触发条件。
理解304 Not Modified等缓存相关状态码,设计合理的缓存策略优化网站性能。
HTTP状态码按百位数字分为五大类:
// HTTP状态码分类
// 1xx - 信息性(请求已被接收,继续处理)
// 100 Continue 继续请求
// 101 Switching 切换协议
// 2xx - 成功(请求已成功处理)
// 200 OK 成功
// 201 Created 资源已创建
// 204 No Content 成功但无返回体
// 3xx - 重定向(需要进一步操作)
// 301 Moved 永久重定向
// 302 Found 临时重定向
// 304 Not Modified 缓存有效
// 4xx - 客户端错误(请求有误)
// 400 Bad Request 请求语法错误
// 401 Unauthorized 需要认证
// 403 Forbidden 禁止访问
// 404 Not Found 资源不存在
// 429 Too Many Reqs 请求频率超限
// 5xx - 服务器错误(服务器处理失败)
// 500 Internal Error 服务器内部错误
// 502 Bad Gateway 网关错误
// 503 Unavailable 服务不可用
// 504 Gateway Timeout 网关超时
A:301是永久重定向,浏览器会缓存新地址,下次直接请求新URL。302是临时重定向,浏览器每次都会请求原始URL。SEO影响也不同:301会转移权重,302不会。
A:401 Unauthorized表示请求缺少有效的认证凭据,客户端可以提供认证后重试。403 Forbidden表示服务器理解请求但拒绝授权,即使提供认证也无法访问。
A:200 OK返回成功且有响应体。204 No Content表示成功但没有返回内容(如DELETE操作成功后通常返回204)。前端处理204时不需要解析响应体。
A:429表示请求频率超过服务器限制。应检查响应头中的Retry-After字段获取建议等待时间,实现指数退避重试策略。频繁遇到429需要降低请求频率。
A:502 Bad Gateway表示反向代理(如Nginx)从上游服务器收到无效响应。504 Gateway Timeout表示反向代理等待上游服务器响应超时。502通常是上游服务崩溃,504是上游响应太慢。