您是否曾经对网页的缓慢加载时间感到沮丧,还是担心网页的安全性(或缺乏安全性)? Google目前正在开发一些解决这些问题的方法。它称为SPDY,它将与HTTP一起使用,以使Internet更快。
首先,什么是HTTP?
HTTP最初要求与服务器进行通信在每个请求/响应周期之后关闭,一个设备向另一个设备发送数据请求,然后从另一设备接收该数据。这导致针对每个请求的TCP通道的完整设置和中断,这在带宽方面非常昂贵,并且给计算机和服务器带来了不必要的压力。 TCP与HTTP一样,是一种Web协议,专门提供有保证的传递,重复抑制,按顺序传递,流控制,避免拥塞和其他传输功能。
它的另一个问题是它包含FIFO语义。 FIFO或“先进先出"语义从本质上规定,第一个进入服务器的请求将具有第一个响应。但这可能是一个问题。当队列前面有一个缓慢的请求时,队列后面的请求将不得不等待更长的时间,并且存在请求的反向流。
然后,HTTP 1.1伴随着一些重大变化解决这个问题。一方面,HTTP 1.1允许新类型的TCP连接,使通道在请求/响应周期之间保持打开状态。这些被称为“保持活动"连接。 HTTP 1.1还允许使用称为 pipelining 的东西,该东西有望摆脱一次性处理请求的系统。保持活动连接被广泛采用,而流水线仅由Opera所使用,Opera以在浏览器中使用更多创新技术而闻名。
SPDY怎么样?
因为流水线不是'由于被广泛采用,网页延迟仍然是一个问题。然后,在2009年,Google宣布已开始开发SPDY,其目标是帮助加速Internet。
SPDY是一种开放网络协议,旨在与HTTP一起用于传输Web。数据。作为一种开放的网络协议,它建立了如何在网络之间共享数据的规则。
它通过处理HTTP流量以减少网页加载延迟而起作用。它通过为每个请求分配一个称为流ID的特定标识符来实现。从那里,它仅使用一个TCP通道就可以绕过HTTP的FIFO系统。可以同时响应多个请求,从而释放了队列并缩短了加载时间。但是,由于该流ID,不会丢失或弄乱任何东西。
SPDY还可以通过压缩请求附带的标头来减少网页加载时间。未经压缩,当它们通过HTTP传输时,它们的大小可以从200字节到2 KB以上不等。要求标头最大为700 KB的情况也很常见。当这些文件未经压缩地进入服务器时,它们会占用带宽,并且延迟可能会导致连接中断。
在请求期间还会删除冗余头。一次建立标头后,就不必一次又一次地发送它了,而且由于SPDY的缘故,它也不需要一次发送。
SPDY需要SSL来确保安全性,因此它比HTTP安全得多。 。不仅如此,它在头对头测试中显示比HTTP快64%,尽管一些团队进行的后续测试表明,这实际上并没有太大的改变,因为网站具有
不过,截至2014年11月,SPDY得到了2.3%的所有网站(包括Twitter和许多Google服务)的支持。
如何使用?
如果您使用Google服务或Twitter,则说明您已经在使用SPDY。但是,由于只有少数网站支持SPDY,因此很可能您将长时间不使用它而不是HTTP或HTTPS。
对于具有Web服务器的用户,通常可以实施SPDY而无需更改任何网页内容。对于Apache用户,是免费的。
如果您使用的是浏览器,并对哪些站点支持SPDY感到好奇,可以使用一些应用程序和附加组件来显示是否启用了SPDY,例如SPDY Indicator适用于Chrome和Mozilla Firefox。如果为特定网站启用了该图标,则会显示一个绿色的小闪电图标,如果未启用该图标,则会显示一个可选的灰色图标。
结论
尽管SPDY的速度可能不会比HTTP快在现实世界中,它已经到达了目的地,并且已经得到了多个Web浏览器的支持,包括Chrome / Chromium,Mozilla Firefox,Opera,Amazon Silk和Safari。首先,在您自己的服务器上启用对SPDY的支持可能会有些复杂,但是您正在为新的万维网铺平道路。
对SPDY有任何经验吗?
图片来源:通过Flickr的服务器机房,通过Flickr拔出的插头,通过Flickr在Firefox 12.0上启用SPDY的