添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的web程序员。

今天给大家分享一下,修真院官网JS-5任务中可能会使用到的知识点:

HTTP状态码有哪些?分别代表是什么意思?

1.背景介绍

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。 当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码由三个十进制数字组成,三位数字代码分别代表着不同的请求状态,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。

2.知识剖析

HTTP状态码分类
HTTP状态码共分为5种类型:


1开头:(被接受,需要继续处理。)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。


2开头 (请求成功)这一类型的状态码,代表请求已成功被服务器接收、理解、并接受


3开头 (请求被重定向)这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 location 域中指明。


4开头:(请求错误)这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。


5开头:(服务器错误)这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。


如何记忆这些状态码


Http 状态码是做Web开发的必备的基础知识,面试中也会经常出现这方面的考题。但是要记住全部的状态码不是一件容易的事,部分状态码记忆:


200 欢迎回来,主人 (正常;请求已完成。)


301 人家搬家了 (已移动 — 请求的数据具有新的位置且更改是永久的。)


307 不是这里,换个地方啦 (重新请求的URL,客户端自动重新请求新的地址)


400 不要把奇怪的东西给人家嘛 (错误请求 — 请求中有语法问题,或不能满足请求。)


403 这里不可以啦!(禁止 — 即使有授权也不需要访问。)


404 这里什么都没有 --- 人家是平的啦。 (找不到 — 服务器找不到给定的资源;文档不存在。)


405 打开方式不对 (资源被禁止)

3 常见问题

有哪些常见的状态码?

4 解决方案

一般只需要了解以下常见的状态码就够了:


200 OK:服务器成功处理了请求(这个是我们见到最多的)


301 Moved Permanently:资源移动。所请求资源自动到新的URL,浏览器自动跳转到新的URL


304 Not Modified:服务端的资源与客户端上一次请求的一致,不需要重新传输,客户端使用本地缓存的即可


400 Bad Request:用于告诉客户端它发送了一个错误的请求


404 Not Found:(页面丢失)未找到资源


500 Internal Server Error:服务器内部出现了错误


501 Internal Server Error:服务器遇到一个错误,使其无法对请求提供服务

5.编码实战

6.扩展思考

301和302都是重定向,他们之间有什么区别呢?

301为永久移动。请求的资源已被永久的移动到新URL,返回信息会包括新的URL,浏览器会自动定向到新URL。今后任何新的请求都应使用新的URL代替。


302为临时移动。与301类似。但资源只是临时被移动。客户端应该继续使用原有URL。

HTTP状态码451是什么?
根据定义,HTTP 451错误代码状态出现,代表该网页可能对于国家安全产生危险,或是该网页可能违反著作权、隐私权、亵渎神明或其他法律或法院命令。


简单的讲 就是由于某些政治原因,所以,该页面不予访问


418有什么典故?
418,内容是I'm a teapot,算是一个彩蛋。


源于IETF在1998年愚人节时发布的一个超文本咖啡壶控制协议,当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”。


7.参考文献

参考一: 菜鸟教程 点击打开链接


参考二: 让HTTP萌娘帮你记住状态码吧 点击打开链接
参考三: 415 点击打开链接

参考四: 超文本咖啡壶控制协议 点击打开链接

1 504是什么问题?

由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)

2 404是什么问题?

无法找到指定位置的资源。这也是一个常用的应答。

3 505 是什么问题?

服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新)

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树-IT修真院

IT修真院是一个免费的线上IT技术学习平台 。

每个职业以15个左右的task为初学者提供更快速高效的学习方式 ;

所有task均是从真实项目中提炼出来的技能点,

强调实战演练+自学优先+师兄辅导的学习方式,

严格的日报体系,欢乐的交流讨论学习气氛,更有无数师兄师姐帮你解疑!

点击官网注册 ,使用师兄邀请链接有优惠。 被用于当资源的访问由于法律原因被禁止的时候。497:( HTTP HTTP S(Nginx))Nginx内置的代码,被用于原始的 HTTP 的请求发送给 HTTP S端口去分辨4XX在日志中和一个错误页面的重定向。598:(网络读取超时异常(未知))这个 状态码 也没有在任何RFC中指定,但是被用在微软的 HTTP 代理中去标注一个网络读取超时在一个客户端之前的代理的后面。599:(网络连接超时异常(未知))这个 状态码 也没有在任何RFC中指定,但是被用在微软的 HTTP 代理中去标注一个网络连接超时在一个客户端之前的代理的后面。 HTTP 状态码 是服务器返回给客户端的,其核心作用是web服务器来告诉客户端,当前网页发生的什么事,或者说当前web服务器的响应状态。所以 HTTP 状态码 常用来判断和分析当前web服务器的运行状况。 2开头 (请求成功)表示成功处理了请求的状态代码。200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。 206 (部分内容) 服务器成功处理了部分 GET 请求。3开 3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。304 (未修改) 自从上次请求后,请求的网页未修改过... 一些常见的 状态码 为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的... HTTP ,即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求。客户端(浏览器)会向服务器提交 HTTP 请求;然后服务器向客户端返回响应;其中响应包含有关请求的状态信息,还可能包含请求的内容。 HTTP /1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 HTTP 1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP 1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TR HTTP 状态码 共分为5种类型: 1开头:(被接受,需要继续处理。)这一类型的 状态码 代表 请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。 2开头 (请求成功)这一类型的 状态码 代表 请求已成功被服务器接收、理解、并接受 3开头 (请求被重定向)这类 状态码 代表 需要客户端采取进一步的操作才能完成请求。通常,这些 状态码 用来重定向,后续的请求地址(重定向目标...