HTTP状态码,分别是什么意思?

984 阅读5分钟

HTTP 状态码(英语:HTTP Status Code)是用以表示 HTTP 响应状态的 3 位数字代码

  • 100~199 消息
  • 200-299 成功
  • 300 -399 重定向
  • 400-499 客户端出错
  • 500-599 服务器出错

100 ~ 199 消息

  • 100:服务器已经收到请求头,请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
  • 101:切换协议。服务器根据客户端的请求切换协议。

200 ~ 299 成功

  • 200:已成功处理了请求。出现此状态码是表示正常状态
  • 201:请求成功并且服务器创建了新的资源
  • 202:服务器已接受请求,但尚未处理
  • 203:非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
  • 204:服务器成功处理了请求,但没有返回内容
  • 205:重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图
  • 206:服务器成功处理了部分 GET 请求

300 ~ 399 重定向

这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。 当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。

客户端应当自动监测无限循环重定向(例如:A->A,或者A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照 HTTP/1.0 版规范的建议,浏览器不应自动访问超过5次的重定向。

  • 300:针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择
  • 301:请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
  • 302:临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有 URI
  • 303:查看其它地址。与301类似。使用 GET 和 POST 请求查看
  • 304:自从上次请求后,请求的资源未修改过。服务器返回此响应时,不会返回资源的内容,因此可节省带宽和开销
  • 305:请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理
  • 307:临时重定向。与302类似。使用 GET 请求重定向

400 ~ 499 客户端出错

  • 400:服务器不理解请求的语法
  • 401:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应
  • 403:服务器拒绝请求
  • 404:服务器找不到请求的资源。 例如,对于服务器上不存在的资源经常会返回此代码
  • 405:请求中的方法不被允许(HTTP METHOD)
  • 406:请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受
  • 407:请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
  • 408:服务器等候请求时发生超时
  • 409:由于和被请求的资源的当前状态之间存在冲突,请求无法完成
  • 410:如果请求的资源已永久删除,服务器就会返回此响应
  • 411:服务器无法处理客户端发送的不带 Content-Length 的请求信息
  • 412:服务器未满足请求者在请求中设置的其中一个前提条件
  • 413:服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
  • 414:请求的 URI(通常为网址)过长,服务器无法处理
  • 415:请求的格式不受请求页面的支持
  • 416:如果页面无法提供请求的范围,则服务器会返回此状态代码
  • 417:服务器未满足 "Expect" 请求头字段的要求
  • 429:用户在给定的时间内发送了太多的请求。旨在用于网络限速
  • 431:服务器不愿处理请求,因为一个或多个头字段过大

500~599 服务器错误

  • 500:服务器遇到错误,无法完成请求
  • 501:服务器不支持请求的功能,无法完成请求
  • 502:服务器作为网关或代理,从上游服务器收到无效响应
  • 503:服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态
  • 504:服务器作为网关或代理,但是没有及时从上游服务器收到请求
  • 505:服务器不支持请求的HTTP协议的版本,无法完成处理

本文摘录于:

  1. 喵星人教你 HTTP 状态码
  2. HTTP状态码