HTTP图解读书笔记(第四章 返回结果的HTTP状态码)

一、状态码

5种状态码:

具有代表性的14个状态码:

2XX

请求被正常处理

  • 200 ok

       表示客户端发来的请求在服务端被正常处理了

  • 204 no Content

       服务端请求处理成功,但是没有资源返回(响应报文中不含实体的主体),当从浏览器发出请求处理后,返回204,那么浏览器的页面不发生跟新。

  • 206 partial Content

       客户端进行了范围请求,服务端成功执行了这部分的请求,响应报文中包含有Content-Range指定范围的实体内容

3XX 重定向

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

  • 301 moved Permanently

       请求的资源已被分配了新的URL,以后应使用资源现在所指的URL。

  • 302 Found

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

  • 303 See Other

       该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET方法定向获取请求的资源。
       303 状态码和 302 Found 状态码有着相同的功能,但 303 状态码明确表示客户端应当采用 GET 方法获取资源,这点与302 状态码有区别

      注意:当 301、302、303 响应状态码返回时,几乎所有的浏览器都会把POST 改成 GET,并删除请求报文内的主体,之后请求会自动再次发送。

  • 304 Not Modified

        如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码。简单的表达就是:客户端已经执行了GET,但文件未变化。

       注: GET方法的请求报文中包含 If-Match,If-ModifiedSince,If-None-Match,If-Range,If-Unmodified-Since 中任一首部

  • 307 Temporary Redirect

       临时重定向,同302.307会遵循浏览器的标准,不会讲post请求变为get

4XX 客户端错误

  • 400 Bad Request

       请求报文中存在语法错误,当错误发生时需要修改请求的内容再次发送

  • 401 Unauthorized

       

       该状态码表示发送的请求需要有通过HTTP认证(BASIC 认证、DIGEST 认证)的认证信息。另外若之前已进行过 1 次请求,则表示用户认证失败。

  • 403 Forbidden 

       请求资源的访问被服务器拒绝

  • 404 Not Found

       服务器上无法找到请求资源

5XX服务器错误

  • 500 Internal Server Error

       表示服务端在执行请求时发送错误

  • 503 Service Unavailable

       服务器超负荷或者处于停机维护中,如果事先得知解除以上状况需要的时间,最好写入RetryAfter 首部字段再返回给客户端。

猜你喜欢

转载自blog.csdn.net/qq_37200686/article/details/85047979
今日推荐