返回

你不可不知的HTTP状态码及其含义

前端

在前端开发过程中,我们经常会向后端发送请求来获取数据。此时,后端会返回一个响应状态码,用于告知请求是否成功以及服务器的处理结果。了解这些状态码的含义,对于我们更好地读懂服务器返回的数据状态,并及时处理异常情况非常重要。

1xx 信息响应

1xx状态码表示服务器已收到请求,并正在进行处理。常见的状态码如下:

  • 100 Continue:服务器已收到请求头,并准备接收请求体。
  • 101 Switching Protocols:服务器已收到请求头,并准备切换协议。
  • 102 Processing:服务器正在处理请求,但尚未完成。

2xx 成功响应

2xx状态码表示请求已成功处理,并返回了所需的数据。常见的状态码如下:

  • 200 OK:请求已成功处理,并返回了请求的数据。
  • 201 Created:请求已成功创建了新的资源。
  • 202 Accepted:服务器已收到请求,但尚未处理。
  • 203 Non-Authoritative Information:服务器已成功处理请求,但返回的数据可能不是最新的。
  • 204 No Content:服务器已成功处理请求,但没有返回任何数据。
  • 205 Reset Content:服务器已成功处理请求,并重置了客户端的文档视图。
  • 206 Partial Content:服务器已成功处理请求,并返回了部分请求的数据。

3xx 重定向

3xx状态码表示请求需要被重定向到另一个位置。常见的状态码如下:

  • 300 Multiple Choices:服务器有多个可供选择的响应,客户端可自行选择一个。
  • 301 Moved Permanently:请求的资源已被永久重定向到另一个位置。
  • 302 Found:请求的资源已被临时重定向到另一个位置。
  • 303 See Other:服务器建议客户端使用另一个URI来完成请求。
  • 304 Not Modified:请求的资源未被修改,客户端可以使用缓存中的数据。
  • 307 Temporary Redirect:请求的资源已被临时重定向到另一个位置。

4xx 客户端错误

4xx状态码表示客户端请求存在错误。常见的状态码如下:

  • 400 Bad Request:请求语法错误,服务器无法理解。
  • 401 Unauthorized:客户端未提供有效的身份凭证。
  • 402 Payment Required:请求需要付费,但客户端未提供有效的支付信息。
  • 403 Forbidden:客户端没有权限访问请求的资源。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed:客户端使用的请求方法不被服务器支持。
  • 406 Not Acceptable:服务器无法提供客户端所请求的响应内容类型。
  • 407 Proxy Authentication Required:客户端需要进行代理身份验证。
  • 408 Request Timeout:客户端请求超时。
  • 409 Conflict:请求与服务器当前的状态冲突。
  • 410 Gone:请求的资源已不存在。
  • 411 Length Required:请求必须包含Content-Length头信息。
  • 412 Precondition Failed:请求的前提条件不满足。
  • 413 Request Entity Too Large:请求的实体过大。
  • 414 URI Too Long:请求的URI过长。
  • 415 Unsupported Media Type:请求的媒体类型不被服务器支持。
  • 416 Range Not Satisfiable:请求的范围无法满足。
  • 417 Expectation Failed:请求的期望条件不满足。

5xx 服务器错误

5xx状态码表示服务器在处理请求时发生了错误。常见的状态码如下:

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