网站访问速度已无处优化,要不要试试HTTP2.0?

Posted 网宿产品与服务

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站访问速度已无处优化,要不要试试HTTP2.0?相关的知识,希望对你有一定的参考价值。

请输入标题     bcdef

大家好,我叫刚子,是一名普普通通的程序猿,

本来,生活会一直这么普普通通地过下去,

每天看看代码、改改bug,

撩撩新来的前台妹子,跟PM撕个X,

跟隔壁新来的php争论到底什么才是最好的语言,

日复一日,年复一年,

就这么普普通通、简简单单地过下去……

请输入标题     abcdefg

直到有一天,新来的总监烧起了新官上任的第一把火:

“周五之前交一份Q1总结报告,总结各组在用户体验、访问速度提升上做的优化,并探讨Q2改进的方向。”

架构已经优化到不能再优化,

加速用的是国内最好的CDN,最好的服务,

访问速度已经提升到最高水平了,

你们还有什么不满意的?


隔壁的PHP幽幽说了一句:要不试试HTTP2.0?

哇塞我怎么没想到?

这哥们儿简直一语惊醒梦中人!

于是我告诉他:

你这个想法不错,跟我的不谋而合。


于是,我需要提交一份可行性报告

告诉我的老板:

HTTP2.0如何让我们的网站更快。


关于HTTP2.0

首先,我们要知道,什么是HTTP2.0。


我们通过互联网获取内容,都是建立在HTTP协议的基础上的。HTTP2.0的前身,是HTTP1.1、HTTP1.0。


HTTP协议,是一个你来我往的过程,客户端(浏览器)发起请求(我要访问www.wangsu.com),请求到达服务端,服务端响应一个结果(网宿首页的内容),发起HTTP请求之前,需要建立连接。

 

就像网络购物一样,客户端下了一个单子,服务端收到订单之后,给客户端发货,这个交易的过程,就是基于连接发生的请求与响应

网站访问速度已无处优化,要不要试试HTTP2.0?


这个客户端,是个剁手党,一天要下好几个单子,可是在HTTP1.0时代,连接无法复用,每次下完单,都被强制登出/关机,下一次下单,就得重新登录。


剁手党何其能忍?

 

其中一名剁手党看不下去了,作为一个程序猿,他决定改变这种现状,不然以后还怎么愉快地买键盘买主机买刀砍产品经理呢?

这个伟大的程序猿想到了一种优化方式:设置Connection:Keep-Alive,保持连接在一段时间内不断开。

网站访问速度已无处优化,要不要试试HTTP2.0?

HTTP1.1默认开启Keep-Alive,但是,在keep-alive背景下,必须要等待订单1完成后,再继续处理订单2、3……这样的方式显然浪费时间,于是,万能的程序猿又想到了一个方法:HTTP pipelining。不等订单1结束,客户端就连续下了订单2、3、4……

(果然是剁手党之王 ……)

网站访问速度已无处优化,要不要试试HTTP2.0?


只可惜,仓库是按顺序发货的,若订单1的商品暂时没货,需要调货,订单2、3的商品要等订单1的商品发出之后才能发出。


为了解决这种情况,买家增加了好几个购物渠道(建立多个连接),某东、某会、某品……这样假如其中一个购物渠道阻塞了,其他渠道的订单可以不受影响……


但是,这还是不能完全解决问题:

●购物渠道有限,最多只有6个;

●每换一个购物渠道都得与客服沟通三次(TCP三次握手),既浪费时间,也会对卖家的服务端造成压力,同时容易受到环境影响而中途断开,需要再次重建;

●随着订单的增多,多的订单还是只能按照先进先出(FIFO)的顺序进行排队,阻塞依旧很严重。


然而这一切都被机智的程序猿看在眼里,他们创造了一种SPDY协议,后续在此基础上,又起草了HTTP2.0协议。相比于HTTP1.X,HTTP2.0解决了许多问题:


多路复用


多路复用,即单个连接上同时进行多个业务单元数据的传输。


有了多路复用之后,在同一个交易渠道上,能够同时完成客户所有订单货物的采购和交付,客户端只要在每个订单上备注好ID,货物拆分发货,乱序到达之后按照ID重新组装即可,不会因为某个包裹的延误导致整体配送进度的推迟。

网站访问速度已无处优化,要不要试试HTTP2.0?


请求优先级


假如订单2的商品特别重要,就在订单2上留一段备注,服务端收到订单之后,会优先发出订单2的包裹。


同时,服务端评估订单5是短保产品,需要尽快到货,也会将订单5优先发货。


网站访问速度已无处优化,要不要试试HTTP2.0?

如此,一些比较重要的内容(如网页框架等)

即可优先展示


头部压缩


HTTP1.X的头部越来越膨胀,很多都是重复且多余的,HTTP2.0可以压缩头部的大小,并且避免了重复的传输,可以大大降低延迟。


就好比货物越轻,运送速度则越快,HTTP2.0协议下,卖家发货时将多余包装扔掉,这样买家就能更快地收到货啦!


网站访问速度已无处优化,要不要试试HTTP2.0?


服务端推送


服务端推送是HTTP2.0的一大亮点。


在客户端下了订单1之后,服务端预先判断客户端可能会需要下订单2、3、4……于是主动发货。这种主动推送的机制,可以节省接下来的几个请求耗时,提升访问速度。


网站访问速度已无处优化,要不要试试HTTP2.0?


网站访问速度已无处优化,要不要试试HTTP2.0?

科普完毕的分割线

网站访问速度已无处优化,要不要试试HTTP2.0?


有了HTTP2.0之后,卖家(网站)能够更快地将内容呈现给买家(用户)。

同为剁手党,我的老板一定能够对HTTP2.0的优势一目了然啦!

 

果然,收到报告之后,老板叫我去办公室一趟……


老板语重心长地说:刚子啊,你说的这个HTTP2.0是不错,可是目前应用的多不多?


要知道,第一个吃螃蟹的人发现了绝顶美味,第一个吃毒蘑菇的人可是死翘翘了啊!


幸亏机智的我早知会有这么一问……

HTTP2.0之趋势

HTTP2.0的实现已经比较成熟,截至2016年12月,前1000万个网站中,有10.8%支持HTTP2.0,其中自然少不了Google、Twitter等行业先驱。


国内网站中,百度、豆瓣、知乎、QQ邮箱、携程、搜狐、蘑菇街及部分直播平台等已经开始用HTTP2.0。


同时,专业的互联网平台提供商网宿也支持了全程(CDN三公里)HTTP2.0加速,系国内首家。


敲黑板!!看重点!!全程HTTP2.0加速!国内首家!

 

HTTP2.0作为新版本的网络协议肯定需要一段时间去普及,但HTTP本身属于应用层协议,离底层协议越远,对网络基础硬件设施的影响就越小,普及的阻力就越小,相信在国内互联的浪潮下很快就会普及。

老板:

很好!刚子

马上去做HTTP2.0的改造吧!


未完待续……


以上是关于网站访问速度已无处优化,要不要试试HTTP2.0?的主要内容,如果未能解决你的问题,请参考以下文章

HTTP2.0协议被曝4个高危漏洞,可致服务器崩溃

前端进阶Web前端性能优化

网宿首发HTTP2.0全链路加速,解答您关心的5个问题

网宿首发全链路HTTP2.0加速,解答你关心的这5个问题

http2.0和http1.1的区别

网站打开速度优化_如何提高网页访问速度技巧方法总结