都9102年了,确认不升级到HTTP/2吗?

栏目: 后端 · 前端 · 发布时间: 5年前

内容简介:HTTP/2协议在2015年就已经正式被发表了,但是现在有许多网站还是采用的http/1.1协议,都9102年了,确认不升级一下吗?想必该有人问了,为啥要升级,http/1.1用的好好的,http/2有啥优势?首先来看一下http/1.1的缺点,也就是http/2的优势所在了。基于以上缺点,也出现了许多优化手段:雪碧图、合并脚本和样式表、资源内联、域名分片等优化工作,但是如果HTTP协议足够好的话,本可以避免这些额外的操作。

HTTP/2协议在2015年就已经正式被发表了,但是现在有许多网站还是采用的http/1.1协议,都9102年了,确认不升级一下吗?想必该有人问了,为啥要升级,http/1.1用的好好的,http/2有啥优势?

首先来看一下http/1.1的缺点,也就是http/2的优势所在了。

HTTP/1.1 缺点

  1. 对头阻塞(Head-of-line blocking)
    HTTP/1.1协议虽然可以在同一个TCP连接上发送多个请求,但是这多个请求是有顺序的,必须处理完第一个请求才会响应下一个请求。如果第一个请求处理的特别慢,后面的所有请求就需要排队。
  2. TCP 连接数限制
    对于同一个域名,浏览器最多只能同时创建 6 ~ 8 个TCP连接。如果一个页面有十个请求同时发送,那么只能等第一次的 6 ~ 8 个请求都返回了才能继续接下来的 2 ~ 4 个请求。这怎么能行? 域名分片 技术应运而生。就是把资源分配到不同的域名下(可以是二级子域名),这样就解决了限制,愉快~但是滥用域名分片技术也不行,因为每个TCP连接也是很费时的(这个大家都懂的)。
  3. Header 内容繁多,有时有可能会超过响应内容,并且每次有许多字段都是重复传输。
  4. HTTP/1.1是文本协议传输,不够安全。

基于以上缺点,也出现了许多优化手段:雪碧图、合并脚本和样式表、资源内联、域名分片等优化工作,但是如果HTTP协议足够好的话,本可以避免这些额外的操作。

HTTP/2

http2相比于http/1.1的新特性包括:

  1. 多路复用 (MultiPlexing),单一长连接,二进制格式传输,请求优先级设置
  2. 头部header压缩
  3. 服务端推送Server Push

下面来一一介绍。

多路复用 (MultiPlexing)

HTTP/2 复用 TCP 连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,这些请求或回应在逻辑上分成了很多流(stream),每个流中可以传输若干消息(Message),每个消息由若干最小的二进制帧(Frame)组成。而且不用按照顺序一一对应(但是同一个请求或响应的帧必须是有序的,不同的可以无序),这样就避免了"队头堵塞",减少了 TCP 连接数量和 TCP 连接慢启动造成的问题。http2还可以对stream指定优先级,优先级越高的越先响应。比如可以把js和css的优先级设置的高一些,让他们优先下载并执行。优先级也能动态的修改。

多路复用图:

都9102年了,确认不升级到HTTP/2吗?

头部header压缩

HTTP是无状态的,每次请求都需要附带一些信息。但是许多字段都是重复的,会浪费带宽影响速度。

HTTP/2对头部信息采用HPACK压缩算法来减少报文头的大小。具体做法是把报文头信息中常见的名和值对应一个索引,维护了一张静态字典,index从1到61,比如把:method:GET映射成2,这样就能达到压缩头部的作用。但是对于一些动态的资源,比如,user-agent,需要维护一份可动态添加内容的共同动态字典,这份动态字典在数据传输的过程中逐步建立,index从62开始。然后将映射之后的数据用huffman编码。

静态字典表:

都9102年了,确认不升级到HTTP/2吗?

都9102年了,确认不升级到HTTP/2吗?

服务端推送(Server Push)

以前是客户端向服务器请求什么,服务器就发送什么,十分吝啬。现在有了服务端推送,客户端向服务端要了一滴水,服务端可以返回整个森林。

这允许服务器直接提供浏览器渲染页面所需资源,而无须浏览器在收到、解析页面后再提起一轮请求,节约了加载时间。比如浏览器向服务器请求一个页面,之前需要等到浏览器收到页面解析html后,发现里面引用了静态资源,浏览器再向服务器发送静态资源的请求。但是现在服务器可以直接将页面和所需的静态资源一并返回。

nginx如何配置

nginx开始HPPT/2非常简单,只需在HTTPS设置后加上http2即可。

server {
    listen 443 ssl http2;
}

讲了HTTP/2这么多的优点,客官确定不升级一下吗?升级之后就可以对雪碧图、合并脚本和样式表、资源内联、域名分片这些优化say goodbye了。以后谁再问你网站优化都有哪些方法,上面的几种就不用说了。


以上所述就是小编给大家介绍的《都9102年了,确认不升级到HTTP/2吗?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Cypherpunks

Cypherpunks

Julian Assange、Jacob Appelbaum、Andy Müller-Maguhn、Jérémie Zimmermann / OR Books / 2012-11 / GBP 8.99

Cypherpunks are activists who advocate the widespread use of strong cryptography (writing in code) as a route to progressive change. Julian Assange, the editor-in-chief of and visionary behind WikiLea......一起来看看 《Cypherpunks》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具