Skip to main content
CheckTown
开发工具

HTTP 状态码:完整参考指南

发布于 阅读约 6 分钟
本文目录

什么是 HTTP 状态码?

HTTP 状态码是 Web 服务器针对客户端请求返回的三位数字。它们表示请求是成功、被重定向、发生错误,还是需要进一步操作。每次加载网页时,浏览器都会收到其中一个状态码。

状态码由 HTTP 规范(RFC 7231 及相关 RFC)定义,并根据首位数字分为五大类。理解这些状态码,对 Web 开发者、API 设计者以及任何调试 Web 应用的人来说都至关重要。

五大状态码分类

HTTP 状态码分为五类,每一类代表一种不同类型的响应。

  • 1xx 信息响应——请求已收到,处理仍在继续(例如 100 Continue、101 Switching Protocols)
  • 2xx 成功——请求已被成功接收、理解并接受(例如 200 OK、201 Created、204 No Content)
  • 3xx 重定向——需要进一步操作才能完成请求(例如 301 Moved Permanently、302 Found、304 Not Modified)
  • 4xx 客户端错误——请求语法有误或无法被满足(例如 400 Bad Request、401 Unauthorized、403 Forbidden、404 Not Found)
  • 5xx 服务器错误——服务器未能完成一个有效的请求(例如 500 Internal Server Error、502 Bad Gateway、503 Service Unavailable)

免费试用 —— 无需注册

查询状态码 →

何时需要参考 HTTP 状态码

知道该返回或预期哪个状态码,对构建可靠的 Web 服务至关重要。

  • API 开发——为每个接口选择正确的响应码(创建用 201、删除用 204、校验错误用 422)
  • 调试——在请求失败时定位问题(是 401 身份验证问题,还是 403 授权问题?)
  • SEO 与监控——跟踪 301/302 重定向、识别 404 失效链接,并监控 5xx 服务器错误

常见问题

401 和 403 有什么区别?

401 Unauthorized 表示客户端未提供有效的身份验证凭据——用户需要登录或提供 API 密钥。403 Forbidden 表示客户端已通过身份验证,但没有访问该资源的权限。简而言之:401 = “你是谁?”,403 = “我知道你是谁,但你不能访问它。”

什么时候用 301,什么时候用 302 重定向?

当资源已永久迁移到新 URL 时使用 301 Moved Permanently——搜索引擎会据此更新索引。当重定向是临时的、原 URL 今后仍应继续使用时,使用 302 Found(或 307 Temporary Redirect)。用错状态码可能会损害 SEO。

500 Internal Server Error 是什么意思?

500 是一种通用的服务器端错误,表示在处理请求时出了问题,但服务器无法给出更具体的说明。常见原因包括应用代码中未捕获的异常、数据库连接失败、服务器配置错误或部署问题。请查看服务器日志以获取实际的错误详情。

相关工具