Http03 - Http状态码

Http的状态码表示客户端请求服务器的返回结果,标记服务器端的处理是否正常,通知客户端出现错误的情况,


学习目标

  • 状态码的类别定义
  • 2XX成功
  • 3XX重定向
  • 4XX客户端错误
  • 5XX服务器错误
  • 状态码和状况不一致

状态码的类别定义

状态码如 200 OK 以3位数字和原因短句组成,接下来我们就来看看14种常用的状态码

补充:在RFC2616中定义的Http状态码就达到40多种,再加上WebDAV,就达到60多种。


2XX 成功

  • 200 ok

    表示从从客户端发来的请求已经被正常处理了

  • 204 No Content

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

  • 206 Partial Content

    客户端对服务器端进行一部分资源请求的时候,返回,并且客户端的请求处理成功


3XX 重定向

响应结果表明浏览器需要执行某些特殊的处以正确处理请求

  • 301 Moved Permanently

    永久性重定向,该状态码已被分配了新的URI,以后应使用资源现在所指的URI。

  • 302 Found

    临时重定向。该状态码表示请求资源已被分配了新的URI,希望用户(本次)能使用新的URI访问


4XX 客户端错误

表示客户端是发生错误的原因所在

  • 400 Bad Request

    表示请求报文中存在语法错误。当错误发生的时候,需要修改请求的内容后再次发送请求。另外浏览器方面会像对待200 OK 一样对待该状态码

  • 401 Unauthorized

    表示发送的请求需要Http认证(BASIC认证、DIGEST认证)的认证信息。若之前已经进行过1次认证,则表示用户认证失败

    返回含有401的响应必须包含一个适用于请求资源WWW-Authenticate首部用以质问用户信息。当浏览器第一次收到401响应,会默认弹出认证用的对话窗口

  • 403 Forbidden

    表示请求资源的访问被服务器拒绝。服务器没有必要给出拒绝的详细理由,但如果想作说明的话,可以在实体的主体部分对原因进行描述,这样就能让用户看到了

    未获得文件系统的访问授权,访问权限出现某些问题(从未授权的发送源IP地址试图访问)等列举的情况都可能发生403的原因

  • 404 No Found

    表示客户端请求的资源在服务器端找不到,或者在拒绝客户端请求访问,并且不想给出说明理由的时候使用该状态码!