常用的HTTP状态码

104 阅读2分钟

HTTP 状态码:

类别原因
1xxInformation(信息性状态码)接收的请求正在处理
2xxSuccess(成功状态码)请求正常处理完毕
3xxRedirection(重定向状态码)请i去需要添加额外操作以完成请求
4xxClient Error(客户端错误状态码)客户端错误
5xxServer Error(服务端错误状态码)服务端错误
1.2xx
  • 200 OK

    请求正常处理

  • 204 NOT CONTENT

    请求处理成功但是没有资源可以返回。

  • 206 Partial Content

    客户端发送范围请求,服务端完成相应。(Content-Range)

2.3xx
  • 301 Moved Permanently

    永久重定向

  • 302 Found

    临时重定向

  • 303 See Others

    请求资源的URI已经更新,应该使用GET方法请求新的URI。

  • 304 Not Modified

    资源找到,但是没有符合条件。类似,服务端资源未改变,可以使用本地未过期缓存。

  • 307 Temporary Redirect

    临时重定向,不会吧Post改变成Get。

注:当301302303响应码返回,几乎所有浏览器都会把Post换成Get,并且删除报文主体,再自动重新发送。
   按照标准301302是禁止把Post改变成Get,但是实际上大家都会这样做。
3.4xx

4xx 表明是客户端的错误

  • 400 Bad Request

    报文语法错误

  • 401 Unauthorized

    该状态码表示发送到请求需要通过HTTP认证(BASIC认证,DIGEST认证),如果之前已经经过一次请求返回401,则表示认证失败。

1.  basic认证是把用户和密码通过base64加密后发送给服务器进行验证
​
2.  digest认证则是把服务器响应的401消息里面的特定的值和用户名以及密码结合起来进行不可逆的摘要算法运算得到一个值,然后把用户名和这个摘要值发给服务器,服务通过用户名去 在自己本地找到对应的密码,然后进行同样的摘要运算,再比较这个值是否和客户端发过来的摘要值一样。
链接:https://blog.csdn.net/zjf535214685/article/details/81298694
  • 403 Forbidden

    服务器拒绝连接。

  • 404 Not Found

    没有发现资源。

4.5xx

5xx表明是服务端错误。

  • 500 Internal Server Error

    服务器执行请求时发生了错误。

  • 503 Service Unavailable

    服务器可能处于超负载或者停机维护中,无法处理请求。如果可以知道解除以上的时间,可以写出Retry-After首部字段返回客户端。

在 HTTP 协议中,响应首部 Retry-After 表示用户代理需要等待多长时间之后才能继续发送请求。

\