返回

图解 HTTP 笔记(四)——HTTP 状态码的含义与作用

前端

HTTP 状态码的定义

HTTP 状态码是服务器在收到客户端请求后返回的数字代码,用于请求的结果。状态码分为三类:

  • 100-199:信息类状态码

此类状态码表示请求已被服务器接收,但尚未处理完成。

  • 200-299:成功类状态码

此类状态码表示请求已成功处理并返回。

  • 300-399:重定向类状态码

此类状态码表示客户端需要采取进一步的操作,以完成请求。

  • 400-499:客户端错误类状态码

此类状态码表示请求存在语法错误或其他错误。

  • 500-599:服务器错误类状态码

此类状态码表示服务器在处理请求时遇到了错误。

常见 HTTP 状态码及其含义

状态码 名称
200 OK 请求成功
201 Created 请求成功,并且服务器已创建了一个新的资源
202 Accepted 请求已被接受,但尚未处理
204 No Content 请求成功,但服务器没有返回任何内容
301 Moved Permanently 请求的资源已永久移动到新位置
302 Found 请求的资源已临时移动到新位置
400 Bad Request 请求语法错误
401 Unauthorized 请求未经授权
403 Forbidden 请求被禁止
404 Not Found 请求的资源不存在
500 Internal Server Error 服务器在处理请求时遇到了错误
502 Bad Gateway 服务器作为网关或代理时,从上游服务器收到无效响应
503 Service Unavailable 服务器暂时无法处理请求

HTTP 状态码的分类

HTTP 状态码可分为以下几类:

  • 信息类状态码(100-199)

此类状态码表示请求已被服务器接收,但尚未处理完成。常见的 1xx 状态码包括:

  • 100 Continue:客户端应继续发送请求。

  • 101 Switching Protocols:服务器已切换协议。

  • 成功类状态码(200-299)

此类状态码表示请求已成功处理并返回。常见的 2xx 状态码包括:

  • 200 OK:请求成功。

  • 201 Created:请求成功,并且服务器已创建了一个新的资源。

  • 202 Accepted:请求已被接受,但尚未处理。

  • 204 No Content:请求成功,但服务器没有返回任何内容。

  • 重定向类状态码(300-399)

此类状态码表示客户端需要采取进一步的操作,以完成请求。常见的 3xx 状态码包括:

  • 301 Moved Permanently:请求的资源已永久移动到新位置。

  • 302 Found:请求的资源已临时移动到新位置。

  • 303 See Other:客户端应使用其他 URI 再次发送请求。

  • 客户端错误类状态码(400-499)

此类状态码表示请求存在语法错误或其他错误。常见的 4xx 状态码包括:

  • 400 Bad Request:请求语法错误。

  • 401 Unauthorized:请求未经授权。

  • 403 Forbidden:请求被禁止。

  • 404 Not Found:请求的资源不存在。

  • 服务器错误类状态码(500-599)

此类状态码表示服务器在处理请求时遇到了错误。常见的 5xx 状态码包括:

  • 500 Internal Server Error:服务器在处理请求时遇到了错误。
  • 502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求。

HTTP 状态码的作用

HTTP 状态码在以下方面起着重要的作用:

  • 帮助客户端了解请求的结果

客户端通过状态码可以了解到请求是否成功,以及服务器返回的内容。

  • 帮助服务器管理请求

服务器可以通过状态码来管理请求,例如,当服务器繁忙时,可以返回 503 服务不可用状态码来拒绝请求。

  • 帮助开发人员调试程序

开发人员可以通过状态码来调试程序,例如,当程序出现错误时,可以返回 500 内部服务器错误状态码。

结论

HTTP 状态码是 HTTP 协议的重要组成部分,它在请求处理和响应过程中起着重要的作用。通过了解 HTTP 状态码的含义和作用,我们可以更好地使用 HTTP 协议,并开发出更加健壮的应用程序。