HTTP状态码详解

 Pala   2018-10-08 17:11   22 人阅读  0 条评论

概览

1.png


HTTP状态码分类


2xx 成功

2XX 的响应结果表明请求被正常处理了。

200 OK

2.png


200 OK


204 No Content


3.png


204 No Content


206 Partial Content


4.png


206 Partial Content


3xx 重定向

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

301 Moved Permanently

永久性重定向。 该状态码表示请求的资源已被分配了新的 URI, 以后应使用资源现在所指的 URI。 也就是说, 如果已经把资源对应的 URI保存为书签了, 这时应该按 Location 首部字段提示的 URI 重新保存。

5.png


301 Moved Permanently


302 Found


和301相似,但是代表资源不是永久性移动的。

303 See Other

303 状态码和 302 Found 状态码有着相同的功能, 但 303状态码明确表示客户端应当采用 GET 方法获取资源, 这点与 302 状态码有区别。

304 Not Modified

6.png


304 Not Modifie


书上的很不好理解,什么叫做为符合条件的请求? 搜索了一下。当你发出一个GET请求的时候服务器会从缓存中调用你要访问的内容,这个时候服务器就可以判断这个页面是不是更新过了,如果未更新过那么他会给你返回一个304状态码。


307 Temporary Redirect
和302类似,但是不会把POST编程GET请求。

4xx错误

客户端错误。

404 not found
先从我们熟悉的状态码说起,其实我当时看到这个地方很奇怪,明明是服务端的东西不见了,为啥这里是客户端错误呢?
下面这两种情况都算是客户端错误:

  • 客户端请求到了不合法的资源

  • 客户端原来可以请求到,但是现在没了
    404 是一个 http 错误代码,指的是网页不存在。404 的含义:第一个 4 表示客户端出错,第二个 0 表示你把网址打错了;最后表示这个错误代码在 4 开头的错误代码中排行老四。这个时候其实人家服务端是没有啥错误的,只是没有你要这个资源而已,并不能算服务端错误。

400 Bad Request

报文中存在语法错误。

7.png


400 Bad Request


401 Unauthorized

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

8.png


401 Unauthorized


403 Forbidden

9.png


403 Forbidden


5xx 服务器错误

500 Internal Server Error

该状态码表明服务器端在执行请求时发生了错误。 也有可能是应用存在的 bug 或某些临时的故障。这个就我的开发经验经验来说还比较常见的,一般看看是不是报Exception啥的。

10.png


500 Internal Server Error


503 Service Unavailable

该状态码表明服务器暂时处于超负载或正在进行停机维护, 现在无法处理请求。 

11.png


503 Service Unavailable


总结

HTTP的状态码大家只需要记住第一位开头的代表什么错误即可,到时候搜索一下,面对实际的场景实际分析。当然面试的时候以上提及的状态码是需要记住的。


本文地址:http://chenxm.cc/post/726.html
温馨提示:文章内容系作者个人观点,不代表陈新明对观点赞同或支持。
版权声明:本文为转载文章,来源于 Pala ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?