美文网首页
先进而不能用HTTP2.0

先进而不能用HTTP2.0

作者: 于莱 | 来源:发表于2017-02-25 10:18 被阅读0次

先进的HTTP2.0

我们上网,2016年之前基本用的都是HTTP 1.1协议。渐渐的,浏览一个页面时需要加载的数据越来越多,图片、样式表、视频、js脚本,几十上百都很平常,于是页面加载速度越来越慢——HTTP 1.1本质上还是90年代的方案。

作为互联网流量大户的Google坐不住了,秉承着You Can You Up的淳朴理念,他们推出了SPDY协议,并利用自己掌握服务端流量——搜索引擎和客户端浏览器Chrome的上下游优势,开始部署。

在這一秒鐘幾十萬上下的時代,Amazon 的網頁載入時間每多一秒,該公司的年度營收就減少 16 億美元、Google 的搜尋時間每多 0.4 秒,每天的搜尋次數就會減少 8 百萬網頁、KISSmetric 分析報告指出等待時間超過 4 秒,Bounce Rate 就會增加 25%。人的思緒在等 1 秒後就開始飄移,如果需要等 10 秒,就會感覺這東西是不是壞了

-- from AlphaCamp

效果非常显著,节省了流量和服务器负载的开销,看到甜头之后,其他巨头纷纷跟进,一个更全面,面向新时代服务的HTTP2.0协议就出炉了。

好处有:

多路复用

HTTP基于TCP,作为网络传输的基石,TCP的可靠性是很多场合弃用UDP的主要原因,然而可靠性需要牺牲速度,任何一个连接发起都需要三次通讯握手,设想一下打开网易云音乐首页传输上百个小文件是多么的酸爽。

HTTP2则只会建立一个TCP连接,所有的文件传输都走这条路,而且提供了优先级比如样式表和js先走,图片视频最后。服务器节省了维护TCP连接的开销,客户端加载速度提高了,真是皆大欢喜。

默认开启ssl

国内的ISP如联通、电信、铁通等等,基本都干过流量劫持的勾当(*通:我有KPI要考核,我要赚钱,我用自己的实力劫持流量!)技术上很简单,就是在HTTP1的返回html里插入一段广告代码即可。

开启SSL之后,流量劫持生意就不好做了,估计有人恨得牙痒痒的,但没办法,落后生产力总会进垃圾堆的嘛!

压缩Header

HTTP1里文件头是不压缩的,在现在各种服务端中间件都喜欢往文件头里塞几行信息,一个请求可能只有10 Bytes的json数据,然而请求Header却高达600 Bytes......

HTTP2使用HPACK算法压缩之后,体积起码缩小了2/3。服务器和客户端都节省了流量费用,大善!

网站不能访问?

苹果的safari浏览器从2015年底开始支持http2,无论是iPhone上还是mac上,在和服务器握手的时候发现对方支持HTTP2,就会采用HTTP2去请求资源。

这本来是很好的做法,然而,昨天我常上的一个网站突然不能访问了,一看log:

全都是HTTP2的请求。然而改用chrome访问又是正常的(Chrome:言下之意我没有Safari先进?),突然想起,服务器端nginx里新增的http2是分开配置的,估计是网站管理员升级了webserver,默认打开了http2,然而http2的目录没有指向实际工作目录,于是就挂了。

接受新生事物需要时间

在这种需要开源软件开发者(nginx),网站管理员,浏览器提供商,用户反馈四方面达成一致的业务逻辑,至少还要好几年才能走上正轨。

其中主要的推动力量,还是用户反馈。只有不能正常上网的用户多了,错误反馈才会被网站重视,才会有后续的升级或者配置更新。

然而浏览器提供商也不可或缺:只有不断向用户提供最先进的工具,才能推动用户提高生产率。兼容IE6给业界造成的损失连始作俑者微软都觉得不好意思。

网管更是需要起码的新事物敏感度,升级完了web server,起码多找几个客户端测测吧?

作为开源软件开发者,提供了新功能,默认打开,是一种推广的姿态,牺牲的是对旧服务配置的兼容性,虽然这么做正确与否有待商榷,从推动历史前进角度是值得肯定的。

“历史是这样创造的:最终的结果总是从许多单个的意志的相互冲突中产生出来的,而其中每一个意志,又是由于许多特殊的生活条件,才成为它成为的那样。这样就有无数互相交错的力量,有无数个力的平行四边形,由此就产生出一个合力,即历史结果,而这个结果又可以看作一个作为整体的、不自觉地和不自主地起着作用的力量的产物。因为任何一个人的愿望都会受到任何另一个人的妨碍,而最后出现的结果就是谁都没有希望过的事物。所以到目前为止的历史总是像一种自然过程一样地进行,而且实质上也是服从于同一运动规律的。但是,各个人的意志——其中的每一个都希望得到他的体质和外部的、归根到底是经济的情况(或是他个人的、或是一般社会性的)使他向往的东西——虽然都达不到自己的愿望,而是融合为一个总的平均数,一个总的合力,然而从这一事实中决不应作出结论说,这些意志等于零。相反地,每个意志都对合力有所贡献,因而是包括在这个合力里面的。”

——恩格斯

相关文章

  • 先进而不能用HTTP2.0

    先进的HTTP2.0 我们上网,2016年之前基本用的都是HTTP 1.1协议。渐渐的,浏览一个页面时需要加载的数...

  • HTTP2.0

    HTTP2.0 标签(空格分隔): HTTP2.0 HTTP2.0 核心变化:二进制分帧 在应用层(HTTP2.0...

  • 深入理解http2.0协议,看这篇就够了

    http2.0协议简介 什么是http2.0协议? 在http2.0官网 的描述是: 中文总结一下就是: 对1.x...

  • Android 开发中的日常积累

    Android 开发中的日常积累 HTTP2.0 测试是否支持http2.0,需翻墙 httpvshttps ch...

  • 14-02:HTTP2.0 的特性

    http2.0 的特性如下: 1、内容安全,应为 http2.0 是基于 https 的,天然具有安全特性,通过 ...

  • Http Https SPDY

    HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事 HTTP2.0的奇妙日常 淘宝全站HTTPS实践...

  • nginx配置Http2.0

    最近关注http2.0,然后想在在网站配置http2.0如下是配置和遇到的问题 使用server是基于nginx得...

  • 2017.1.23

    听说双拼加形码速度更快,先练习双拼再说。 这种速度下去,不知能用多久达到每分100字左右。 真想试试这种感觉,先不...

  • 10:Python爬虫|猿人学第十七题|天杀的http2.0

    前言:我们来了解一下http2.0,http2.0是为了加快网页渲染速度所发布的新的协议,我们之前使用的reque...

  • http2.0 展望

    http2.0 http2.0 性能增强的核心:多路复用。 就是在同一个tcp连接里面我可以同时去传输数据和接收...

网友评论

      本文标题:先进而不能用HTTP2.0

      本文链接:https://www.haomeiwen.com/subject/xvkwwttx.html