大家好,这里是修真院前端小课堂,今天给大家分享的是
《HTTP 状态码有哪些?分别代表是什么意思》
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
说人话:三位数字代码分别代表着不同的请求状态
HTTP 状态码的英文为 HTTP Status Code。 下面是常见的 HTTP 状态码的概括:
1 开头:(被接受,需要继续处理。)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
2 开头 (请求成功)这一类型的状态码,代表请求已成功被服务器接收、理解、并接受
3 开头 (请求被重定向)这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。
4 开头:(请求错误)这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。
5 开头:(服务器错误)这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个 HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。
如何记忆这些状态码
当然是来一段 freestyle 了
1xx : Hold on (等着)
2xx : Here you go (执行完了,没毛病,拿着结果回去吧)
3xx : Go away (你要的不在我这儿,去别处找)
4xx : You fucked up (你丫出问题了)
5xx : I fucked up (我特么出问题了)
有哪些常见的状态码?
一般只需要了解以下常见的状态码就够了
200 OK 服务器成功处理了请求(这个是我们见到最多的)
304 Not Modified:服务端的资源与客户端上一次请求的一致,不需要重新传输,客户端使用本地缓存的即可
400 Bad Request:用于告诉客户端它发送了一个错误的请求
404 Not Found (页面丢失) 未找到资源
500 Internal Server Error:服务器内部出现了错误
501 Internal Server Error 服务器遇到一个错误,使其无法对请求提供服务
为什么要避免 304 请求
因为我们在对文件设置缓存后,浏览器会将这些文件缓存在本地,当再次需要这些文件的时候,浏览器仍然会发送请求,然后服务器会返回 304,告诉浏览器直接用本地的缓存就行了。这样和直接使用本地缓存相比,多了一次 http 请求。解决方案其实也简单,给缓存文件设置一个比较的 max-age,需要更新的时候添加版本号就可以了。
参考一:CSDN 博客:HTTP 状态码
参考二:百度百科关于 HTTP 的详解
大家自由讨论一下在调试接口时会遇到哪些状态码?
ppt;ppt