一文搞懂 HTTP 状态码:从 100 到 505 的「全网最易懂」故障诊断手册

HTTP 状态码是服务器在处理客户端请求时返回的数字代码,用于表示请求的结果。根据不同的含义,状态码被分为五大类:信息性、成功、重定向、客户端错误和服务器错误。

状态码分类

1xx — 信息性状态码

这些状态码表示请求已接收,继续处理。

状态码 描述 说明
100 Continue 继续处理。客户端应继续发送请求的剩余部分。
101 Switching Protocols 切换协议。客户端请求服务器切换协议。

2xx — 成功状态码

这些状态码表示请求已成功被服务器处理。

状态码 描述 说明
200 OK 请求成功。请求的响应体包含请求的数据。
201 Created 创建成功。请求成功且服务器创建了新的资源。
202 Accepted 请求已接受,但尚未处理。服务器已接受请求,但没有立即处理。
204 No Content 请求成功,但没有返回任何内容。
206 Partial Content 部分内容响应。服务器仅发送部分资源,通常用于下载大文件时。

3xx — 重定向状态码

这些状态码表示客户端需要进一步操作以完成请求。

状态码 描述 说明
300 Multiple Choices 多重选择。请求的资源有多种可能的响应。
301 Moved Permanently 永久移动。请求的资源已被永久移动到新的 URL。
302 Found 临时重定向。请求的资源临时被移动到新的 URL。
304 Not Modified 未修改。客户端缓存的资源没有改变,可以使用缓存版本。

4xx — 客户端错误状态码

这些状态码表示请求包含语法错误或无法完成请求。

状态码 描述 说明
400 Bad Request 错误请求。请求中存在语法错误,服务器无法理解。
401 Unauthorized 未授权。客户端请求需要身份验证。
403 Forbidden 禁止访问。服务器理解请求,但拒绝处理。
404 Not Found 未找到。请求的资源在服务器上没有找到。
405 Method Not Allowed 方法不允许。请求方法对所请求的资源不适用。
408 Request Timeout 请求超时。客户端请求在服务器等待期间超时。
409 Conflict 冲突。请求与服务器的当前状态冲突。

5xx — 服务器错误状态码

这些状态码表示服务器在处理请求时发生错误。

状态码 描述 说明
500 Internal Server Error 服务器内部错误。服务器遇到错误,无法完成请求。
501 Not Implemented 未实现。服务器不支持请求的方法。
502 Bad Gateway 错误网关。服务器作为网关或代理时,收到无效响应。
503 Service Unavailable 服务不可用。服务器暂时无法处理请求,通常由于过载。
504 Gateway Timeout 网关超时。作为网关或代理的服务器没有及时从上游服务器收到请求。
505 HTTP Version Not Supported 不支持的 HTTP 版本。服务器不支持请求中使用的 HTTP 版本。

小结

  • 2xx 状态码表示请求成功。
  • 3xx 状态码表示需要客户端进一步操作。
  • 4xx 状态码表示客户端请求有误。
  • 5xx 状态码表示服务器发生错误。

理解和正确处理 HTTP 状态码对于开发和调试 web 应用至关重要。希望这份文档能帮助你更好地理解这些常见的状态码及其使用场景。