21CTO指南:
HTTP/2是HTTP的最新版本。HTTP是一种用于在互联网上请求和接收页面和数据的网络协议,即将取代HTTP/1.1。HTTP/1.x版本已经运行二十多年了,该更新了。
HTTP/2和HTTP/1/1的区别
HTTP/2的全称:HTTP/2.0。它源于谷歌在2009年制定的SPDY协议。
HTTP/1.1的一些缺陷
这个协议是在网页大小比较小,不能超过100K的时候创建的,没有CSS。
目前互联网网站首页的数据下载量很大,达到190万,更重要的是,首页平均有100多个对象元素,这100个对象被抓取后才能显示整个首页。
HTTP1.1规定一个客户端最多可以连接两台主机,所以智能网站会在不违反规定的情况下使用多个主机名,可以减少页面的加载时间。随着时间的推移,法规中的限制已经取消。现在,客户端使用6-8个连接到每台主机,但使用这种技术来实现大量连接仍然存在限制。大多数网站需要38个TCP连接才能显示网站,而且这个数字还在慢慢增加。当您将资源或图片放入另一台主机时,您不能使用任何cookie。
HTTP1.1只能做几个基本的表单验证和简单的效果,剩下的需要Java介入来处理;
HTTP1.1带宽占用率高;
使用单个Ajax异步处理;
单页应用和框架已经使用了很多年。比如我们要同时请求几个页面,HTTP 1.1是处理不了的。
HTTP/2.0的主要目标是减少延迟,提高通信效率。其特点包括以下几点。
HTTP/2.0的特性
1.HTTP/2使用二进制数据流,而HTTP/1.x使用低效的文本数据。
2.HTTP/2支持报头压缩
请求之后,返回的数据包括描述性信息:来源、类型、长度、可以缓存的时间等。并在HTTP/2中压缩。
3.HTTP/2采用流水线传输
在HTTP1.1中,服务器必须按照接收请求的顺序发送和接收响应。HTTP/2支持异步,可以更快的处理响应。
4.HTTP/2支持复用
在HTTP1.1中,任何时候在TCP连接上只能处理一个请求。当浏览器同时请求多个连接时,如果是大型或慢速资源,文件下载会延迟。HTTP/2可以允许单个连接同时发送多个请求和接收多个响应。
假设两列火车代表不同的流量。请看下图:
然后,它们被安排在一个用于传输的连接上,就像在单一轨道上驾驶一样:
HTTP/2连接可以承载数十或数百个流的复用。多路复用意味着来自许多数据流的数据包可以混合并通过同一连接传输,两个不同的序列混合并一起传输。当它们到达目的地时,它们被分解成两列不同的火车。
在HTTP1中,您需要保持连接以连续发送和接收数据,这导致数据拥塞和RTT浪费。在HTTP2中,可以随时切断所有的流,提取数据包。
5.HTTP/2支持服务器推送
服务器可以在请求之前发送资源。客户端请求一个资源x,服务器判断客户端可能还需要资源,将资源z推给客户端,无需提前询问客户端。客户端收到后,可以缓存以备后用。
例如,如果您在网页中引用一个js脚本,当下载HTTP1.x时,浏览器会用HTML解析它,并遇到
HTTP2是否明显优于1.x?
结果可能不一致。但是,HTTPS测试工具证明HTTP2比HTTP1.x快10倍,并且使用了加密连接。
那么现在可以用HTTP2.0了吗?
当然可以。
前提是只有Web服务器和浏览器都支持,才能启用HTTP/2。如果任一端不匹配,就会回落到HTTP/1.1。
据统计,全球1000万个网站中,约有12%已经支持HTTP/2.0。
可喜的是,所有新的浏览器:Firefox、Safari、Edge、Chrome等基于Blink内核的浏览器都得到了全面支持。
综合汇编来自:
1.《什么是http 什么是HTTP/2.0 协议》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《什么是http 什么是HTTP/2.0 协议》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/888820.html