什么是 HTTP 响应状态码

Posted on Wed, 25 Dec 2024 10:33:19 +0800 by LiangMingJian


概述

当用户在访问一个网页时,浏览器会向服务器发出请求,网页所在的服务器在接收请求,并完成请求要求的任务后,会返回一个包含 HTTP 状态码的响应来告知浏览器这个请求的完成情况。

HTTP 响应状态码是用来表明 HTTP 请求是否成功完成的一个标志。

根据 HTTP/1.1 协议语义和内容的规范 RFC 7231,HTTP 响应状态码可以被归为以下五大类:

  • 1XX:信息响应,说明服务器收到请求,但需要请求者继续操作。
  • 2XX:成功响应,说明服务器收到请求,并且成功理解并处理了。
  • 3XX:重定向响应,说明服务器收到请求,但请求的内容不在当前位置了,需求请求者前往其他位置继续操作。
  • 4XX:客户端错误响应,说明服务器收到请求,但这个请求没办法处理,客户端发送的这个请求是错误的。
  • 5XX - 服务器错误响应,说明服务器收到请求,也正常理解并处理了,但是服务器在处理请求的过程中出现了错误。

特别注意,在实际编程中,这些状态码都是看编程习惯的,如果你收到的响应不在这些范围中,则它可能是服务器的自定义响应,没有纳入标准的。

常见状态码

1XX:信息响应

  • 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 响应状态码