1xx(临时响应):表示临时响应并需要请求者继续执行操作的状态代码。

  • 100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
  • 101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功):表示成功处理了请求的状态代码。

  • 200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
  • 201(已创建) 请求成功并且服务器创建了新的资源。
  • 202(已接受) 服务器已接受请求,但尚未处理。
  • 203(非授权信息)服务器已将事务成功处理,只是实体Header包含的信息不是来自原始服务器,而是来自资源的副本。
  • 204(无内容)Response中包含一些Header和一个状态行,但不包括实体的主题内容(没有response body)。
  • 205(重置内容)浏览器应该重置当前页面上所有的HTML表单。
  • 206(部分内容)服务器成功处理了部分 GET 请求。

3xx (重定向):表示要完成请求,需要进一步操作。这些状态代码用来重定向。

  • 300(多种选择)客户端请求了实际指向多个资源的URL。这个代码是和一个选项列表一起返回的,然后用户就可以选择他希望的选项了。
  • 301(永久移动)请求的网页已永久移动到新位置。在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL。(http 1.0)
  • 302(临时移动)客户端应使用Location首部给的URL来临时定位资源。将来的请求仍应使用老的URL。(http 1.0)
  • 303(查看其他位置)请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
  • 304(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。(客户的缓存资源是最新的, 要客户端使用缓存。)
  • 305(使用代理)请求者只能使用代理访问请求的网页。代理的地址在Response 的Location中。
  • 307(临时重定向)与302类似,区别在于:302默认以get重新发出请求。当以post访问a.com时,用302重定向到b.com,会使用get请求b.com。但这样就会导致之前的post请求数据丢失, 307不允许修改请求方法。
  • 308(永久移动)请求的网页已永久移动到新位置。不允许浏览器将原本为POST的请求重定向到GET请求上。

4xx(请求错误):表示请求可能出错,妨碍了服务器的处理。

  • 400(错误请求)服务器不理解请求的语法。
  • 401(未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
  • 403(禁止)服务器拒绝请求。
  • 404(未找到)服务器找不到请求的网页。
  • 405(方法禁用)不支持该Request的方法。
  • 406(不接受)无法使用请求的内容特性响应请求的网页。
  • 407(需要代理授权)此状态代码与 401(未授权)类似,用于需要进行认证的代理服务器。
  • 408(请求超时)如果客户端完成请求时花费的时间太长, 服务器可以返回这个状态码并关闭连接。
  • 409(冲突) 发出的请求在资源上造成了一些冲突。
  • 410(已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
  • 411(需要有效长度)服务器要求在Request中包含Content-Length。
  • 412(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。
  • 413(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
  • 414(请求的 URI 过长)请求的 URI(通常为网址)过长,服务器无法处理。
  • 415(不支持的媒体类型)请求的格式不受请求页面的支持。
  • 416(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态代码。
  • 417(未满足期望值)服务器未满足"期望"请求标头字段的要求。

5xx(服务器错误):表示服务器在尝试处理请求时发生内部错误。

  • 500(服务器内部错误)服务器遇到错误,无法完成请求。
  • 501(尚未实施)服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
  • 502(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。
  • 503(服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
  • 504(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
  • 505(HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。

参考: