iohannes
Published on 2025-04-01 / 2 Visits

http常见状态码

HTTP(超文本传输协议)状态码是用于表示客户端与服务器之间请求和响应状态的数字代码。以下是主要的HTTP状态码及其含义:

1. 1xx(信息性状态码)

  • 100 Continue:服务器已收到请求的第一部分,需要客户端继续发送剩余部分。
  • 101 Switching Protocols:服务器根据客户端的请求切换协议。例如,从 HTTP 切换到 WebSocket。
  • 102 Processing:服务器已收到并正在处理请求,但尚未完成。通常用于 WebDAV(分布式作者和版本控制)。

2. 2xx(成功状态码)

  • 200 OK:请求成功。服务器已成功处理请求,并返回了响应内容。
  • 201 Created:请求成功,并且服务器创建了新的资源。通常用于 POST 请求。
  • 202 Accepted:请求已被接受,但尚未处理。服务器承诺会处理,但不确定何时完成。
  • 203 Non-Authoritative Information:请求成功,但响应的内容是来自第三方的,而不是原始服务器。
  • 204 No Content:请求成功,但没有返回任何内容。通常用于 DELETE 请求。
  • 205 Reset Content:请求成功,客户端应重置文档视图。通常用于表单提交后。
  • 206 Partial Content:请求成功,但只返回了部分内容。通常用于范围请求(Range)。

3. 3xx(重定向状态码)

  • 300 Multiple Choices:请求有多个可能的响应,客户端需要选择一个。
  • 301 Moved Permanently:请求的资源已被永久移动到新的 URI。客户端应使用新的 URI 重新发送请求。
  • 302 Found:请求的资源暂时移动到新的 URI。客户端应使用新的 URI 重新发送请求,但后续请求仍使用原 URI。
  • 303 See Other:请求的资源可以被另一个 URI 替代。客户端应使用 GET 方法访问新的 URI。
  • 304 Not Modified:请求的资源未被修改,客户端可以使用缓存的版本。通常用于条件 GET 请求。
  • 307 Temporary Redirect:请求的资源暂时移动到新的 URI。客户端应使用相同的请求方法访问新的 URI。
  • 308 Permanent Redirect:请求的资源已被永久移动到新的 URI。客户端应使用相同的请求方法访问新的 URI。

4. 4xx(客户端错误状态码)

  • 400 Bad Request:请求格式错误,服务器无法理解。
  • 401 Unauthorized:请求需要用户认证。客户端需要提供有效的认证信息。
  • 402 Payment Required:保留状态码,通常未使用。
  • 403 Forbidden:服务器理解请求,但拒绝执行。通常用于权限不足的情况。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed:请求方法不被允许。例如,服务器只支持 GET,但客户端使用了 POST。
  • 406 Not Acceptable:服务器无法提供客户端请求的响应格式。
  • 407 Proxy Authentication Required:客户端需要通过代理进行认证。
  • 408 Request Timeout:服务器等待客户端请求超时。
  • 409 Conflict:请求与服务器当前状态冲突。例如,同时修改同一资源。
  • 410 Gone:请求的资源已被永久删除。
  • 411 Length Required:服务器需要客户端指定请求体的长度。
  • 412 Precondition Failed:请求的条件未满足。例如,条件 GET 请求失败。
  • 413 Payload Too Large:请求体过大,服务器拒绝处理。
  • 414 URI Too Long:请求的 URI 过长。
  • 415 Unsupported Media Type:请求的媒体类型不被支持。
  • 416 Range Not Satisfiable:范围请求无法满足。
  • 417 Expectation Failed:服务器无法满足客户端的期望。
  • 429 Too Many Requests:客户端请求过于频繁,被服务器限制。

5. 5xx(服务器错误状态码)

  • 500 Internal Server Error:服务器内部错误,无法完成请求。
  • 501 Not Implemented:服务器不支持请求的 HTTP 方法。
  • 502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求,通常用于维护或过载。
  • 504 Gateway Timeout:服务器作为网关或代理时,上游服务器未在规定时间内响应。
  • 505 HTTP Version Not Supported:服务器不支持请求的 HTTP 版本。

这些状态码在 HTTP 协议中非常重要,它们帮助开发者和用户理解请求和响应的状态,从而更好地调试和优化网络应用。