科技食谱

HTTP通信如何发展

访问网站时,HTTP用于与服务器通信。 HTTP / 3是HTTP的新版本。到目前为止,如何在HTTP / 3中解决HTTP通信问题?

世界上第一个网页出现在1990年末,HTTP / 0.9出现在第二年的1991年。当时,很容易从服务器上下载特定文档。 1996年,制定了HTTP / 1.0,它更新了扩展功能,例如响应上载。这是当今HTTP通信的原型。在HTTP / 1.0中,规范是在每个请求上创建一个新的TCP连接,因此握手延迟成为一个问题。

为了解决这个问题,发布了HTTP / 1.0,并制定了半年后修改的HTTP / 1.1。 HTTP / 1.1引入了keepalive,允许将多个请求作为单个连接处理。 HTTP / 1.1长期以来一直支持Web通信,尽管下一个版本HTTP / 2在2015年成为正式规范,但即使在HTTP / 2建立之后,仍有许多站点与HTTP / 1.1进行通信。

HTTP / 1.1自问世以来已经有20多年的历史了,但是与此同时,网站已经有了长足的发展。与出现HTTP / 1.1的时间相比,显示图像,JavaScript和CSS所需的资源已大大增加。因此,浏览器可以轻松地查看该网站,并且必须同时进行许多连接。但是,在HTTP / 1.1中,一次只能发出一个请求。有一个限制,为了执行多个请求,您必须等待上一个请求完成。要建立同时连接,我必须建立多个HTTP / 1.1连接。

HTTP / 1.1具有维护连接并允许在单个连接上下载多个资源的功能,但是建立多个HTTP / 1.1连接将导致每个连接和原始HTTP / 1.0状态的握手。

随着2015年HTTP / 2的问世,可以通过单个连接同时下载多个资源。随着HTTP / 2的出现,可以有效地使用单个TCP连接。但是这次,问题是这种通信是通过TCP进行的。 TCP是用于以正确顺序传输所有数据的协议。当TCP数据包的一部分与网络断开连接时,它将阻止后续数据包,直到重新传输该数据包为止。出于将对其他资源的请求组织到一个TCP连接中的原因,如果发生了对资源请求的数据包丢失,则使用同一TCP连接的对其他资源的所有请求都会中断。

因此,在HTTP / 3中开发了一种称为QUIC的新协议,代替TCP使用。从理论上讲,QUIC可以很好地用作带有TCP和UDP的传输协议,但是要扩展新的传输协议,更改当前的所有网络设备需要花费时间和精力。对于此问题,QUIC是使用UDP实现的。

QUIC不仅可以在不阻止多个请求的情况下流动,而且在通信开始时的握手也正在缩短。到目前为止,TCP或TLS握手已分别执行,但是如果使用QUIC,则可以通过将连接身份验证和加密相结合来减少与服务器的通信数量。

目前只有开发人员可以在Chrome Canary上使用HTTP / 3连接,并且其服务器数量有限。但是,随着将来的传播,您将能够查看更舒适的网站。相关信息可以在这里找到。

lswcap

lswcap

通过每月的AHC PC和HowPC杂志时代,他在网络IT媒体上观看了“技术时代”,如ZDNet,电子报互联网经理,Consumer Journal Ivers的编辑,TechHolic出版商和Venture Square的编辑。 我很好奇这个仍然充满活力的市场。

Add comment

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.

Most discussed

%d 블로거가 이것을 좋아합니다: