2025-03-20 08:03:42 +08:00

2.9 KiB
Raw Blame History

HTTP常用的状态码有哪些

1. 信息性状态码1xx

表示请求已被接收,继续处理。

  • 100 Continue:客户端应继续发送请求,后续请求将被处理。

2. 成功状态码2xx

表示请求已成功被服务器接收、理解并接受。

  • 200 OK:请求成功,返回了请求的数据。
  • 201 Created:请求成功并且服务器创建了新的资源。
  • 204 No Content:请求成功,但响应中没有内容。

3. 重定向状态码3xx

表示需要进一步操作以完成请求。

  • 301 Moved Permanently:请求的资源已永久移动到新位置。
  • 302 Found:请求的资源临时移动到新位置。
  • 304 Not Modified:资源未修改,可使用缓存版本。

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

表示客户端请求有误或无法完成。

  • 400 Bad Request:请求无效,服务器无法理解。
  • 401 Unauthorized:请求需要身份验证。
  • 403 Forbidden:服务器拒绝请求,即使身份验证通过也可能无权限访问。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed请求方法如GET、POST等不被允许。

5. 服务端错误状态码5xx

表示服务器在处理请求时发生错误。

  • 500 Internal Server Error:服务器内部错误,无法完成请求。
  • 502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求(可能是过载或维护)。
  • 504 Gateway Timeout:服务器作为网关或代理时,未能及时从上游服务器获得响应。 HTTP状态码

HTTP返回状态301 302分别是什么

3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向。

  • 「301 Moved Permanently」表示永久重定向说明请求的资源已经不存在了需改用新的 URL 再次访问。
  • 「302 Found」表示临时重定向说明请求的资源还在但暂时需要用另一个 URL 来访问。 301 和 302 都会在响应头里使用字段 Location指明后续要跳转的 URL浏览器会自动重定向新的 URL。

http 502和 504 的区别?

  • 502 Bad Gateway作为网关或者代理工作的服务器尝试执行请求时从上游服务器接收到无效的响应。
  • 504 Gateway Time-out作为网关或者代理工作的服务器尝试执行请求时未能及时从上游服务器收到响应。 举一个例子,假设 nginx 是代理服务器收到客户端的请求后将请求转发到后端服务器tomcat 等)。 当nginx收到了无效的响应时就返回502。 当nginx超过自己配置的超时时间还没有收到请求时就返回504错误。