让 http 2来得更猛烈些吧

今早在公交车上,把http2的官方讲解文档(还在草案之中)看了一圈,发现相对http 1.1确实改进了不少,完整的文档可通过:://www.gitbook.com/book/ye11ow/http2-explained/details 下载

 

把其中的主要思路结合我个人的理解,记录在这里(初次接触,可能有理解不正确的地方,如有不妥,欢迎指正)

 

1、 多路复用

下面这二张图很形象,http2中发送数据是基于帧的,每个帧又对应着一个“流“,下面这二列火车好比二个流,传统方式下,要传输二个流,有可能要发送二次数据(或者创建2个连接)。

在http2里,这二个流,可以串在一起,类似下图,这样发送一次就行了,即实现了所谓的多路复用,这样带来的直接好处是:不需要创建太多的TCP连接(创建TCP连接代价很高的),能省下不少的连接资源。

 

 

2、流的优先级和依赖性

每个流可以指派流的优先级(这个过程可以是动态的),比如在页面上切换tab页时,可以把将要显示的的图片对应的流,优先级增加,以加快显示,改善用户体验,另外每个流依赖其它哪些流,也可以指定。

 

 

3、头压缩

一张网页的加载过程中,可能会很多的http请求,每个请求中,都会包含一些重复的头信息(比如:cookie信息),十分浪费,http2可以将这些重复的内容压缩,提升性能。

 

4、服务器推送

这其实是服务端的一个智能预测,比如浏览器在加载资源X时,服务器如果知道浏览器很可能也会需要资源Y,那么服务器可以主动把资源Y推送给浏览器缓存起来,这样以后要用资源Y的时候,用户感觉就会很快。

 

5、备选服务

在负载均衡的情况下,会有多个server在提供服务,但是一个TCP连接总归只能连接到一个Server,在http2下长连接估计会成为趋势,这样的话,不利于负载"均衡"的整体性能发挥,如果服务端想建议客户端连接到另一个节点,可以用Alt-Svc头来告诉客户端有另一个备选服务器

 

上述这一堆改进最终的目的,我个人理解就是一句话:“更少的TCP连接,更快的传输”,如果http2流行以后,传统的一些优化手段,比如css sprit,把多个小js文件合并成一个文件这些技巧就没必要了,因为“多路复用”,本身就能把多个小文件串在一起,在同一个帧中发送,而不至于增加TCP连接。

 

潜在的副作用:

1、目前只支持TLS,即只能通过https:// 安全连接,这会带来额外的开销。

2、内容是二进制的,看起来不如以前直观,调试起来不如http 1.1方便

 

目前的支持情况:

1、浏览器方面,Firefox、Chrome最新版本已经实现了http 2,其它浏览器比如:Safari,IE,Opera宣称也会跟进,所以浏览器方面的普及应该不是什么大问题 

2、服务器方面,目前只有H2o支持了,Apache,Nginx目前还没有跟上。

 

另外,值得一提是Google的开源项目gRPC,就是在 protobuf + http2 实现的RPC框架。

 

最后,http 2被设计为与http 1.1完全兼容(没办法,现在还是 http 1.1的天下,如果不兼容,估计没人愿意尝试),所以我个人觉得这应该是一个过渡的协议,仍然背负着一些http 1.1的历史包袱,等流行之后,应该在http 3里会做一些激进的改进,就象html 4到html 5的飞跃一样。

 

时间: 2024-09-15 10:24:22

让 http 2来得更猛烈些吧的相关文章

精品购物指南:让古装偶像剧来得更猛烈些(图)

日本NHK大河剧海报:2010年<龙马传> 2008年<笃姬> 撰文.编辑/谢韬 在我们的潜意识里,极易将两个看似相关的不同命题画上等号,譬如古装剧和历史剧.历史的真相是什么?这个历史学家都不一定能回答的问题,却时常被挂在嘴上.对普通观众而言,由少数历史正剧.小说原著杜撰的"史实"通常更有说服力. 春节期间在芒果台热播的清代穿越剧<宫>,创下该台五年以来的最高收视率,但很快就有人站出来指责编剧抄袭.恶搞历史:还有年初登陆各大卫视的新版<水浒传&

腾讯:让批评来得更猛烈些

摘要: 马化腾说,我在网上被骂的机会很多,往往在微博上我说一句话很多人都会骂,所以心理承受能力超过大家的想象.赵昀 早报资料 经历3Q大战的腾讯正在掀起一场从内到外的反思运动. 马化腾说,"我在网上被骂的机会很多,往往在微博上我说一句话很多人都会骂,所以心理承受能力超过大家的想象."赵昀 早报资料 经历"3Q大战"的腾讯正在掀起一场从内到外的反思运动. 作为中国最大的互联网企业,腾讯的日益强大未能换来应有的尊敬,却越来越被业界冠以"垄断".&qu

2011:让红包来得更猛烈些吧!

2010年,我们最期待的大雪没有如期降临.在2011年春节过后,北京.山东等地终于飘起了雪花,遗憾的是,这场雪并不大,但很多 网友在微博和QQ上高呼:让雪花再飘一会儿吧."下雪"成为了2011年的一个热门话题榜.除下雪外,"红包"这个话题更给力,更火爆. 春节前后,企业要给员工发红包,家长要给孩子们发红包.2011年,一些互联网企业,开始给网民发红包.新浪微博的"http://www.aliyun.com/zixun/aggregation/11426.h

胡延平:让上市潮来得更猛烈些吧

5月4日消息,人人网今晚成功登陆纽交所,发行价14美元.互联网专家胡延平接受TechWeb采访时说,以人人网为代表的中国公司上市潮,"使中国互联网持续十年之久的几座大山格局由此被逐渐打破,开放协作分享的多极化格局开展到来:中国互联网的监管者们由此也有了越来越多的忌惮:变局有利创新,发展孕育均衡,多元创造制衡."人人网今日开盘价19.5美元,较发行价大涨39.28%.人人网股票代码为"RENN",发行价14美元,发行5310万股美国存托股(ADS),融资额达7.4亿美

[置顶]这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧

注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有bug,没更新是正常的.够用就行了.其次技术支持的事情,对开源免费来说,不能太强求,这里发布的都是小功能组件,一般看源码也比较好理解,各取所需.当然有最好.. 长期关注和使用.NET开源项目,给我带来了很多好处: 1.可以快速完成我的想法,也就是所谓的业务细节,而不是关注如何实现: 2.可以更快更稳定的完成需求,而不是自己造轮子实现,花费时间: 3.从.NET开源项目的使用以及源码阅读中也会带来一些好

这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)

原文:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)     在上个月发表的一篇文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 ,得到了很多朋友的响应.同时也有很多朋友直接进行使用,反应非常棒,虽然不是每一个都用得上,只要有一个用得上,其实也不错了,其他的就留着收藏,以后说不定用得上.最近再次整理一些比较实用的.NET开源组件,如果大家有兴趣,下个月再整理2篇,分别是比较大型的和算法方面的.还是发老样子,每次精选15个我个人认为还比较有用,而且平时曝

让B2B的竞争来得更激烈些吧!

中介交易 SEO诊断 淘宝客 云主机 技术大厅 从最近的各路消息看,国内B2B领域即将开始 一场激烈的混战.先是慧聪调整战略,与阿里巴巴进行错位经营,然后阿里巴巴又在升级"全球宝"的同时推出低价的"出口通",接着是传闻百度正在秘密进军B2B领域.陈永东认为,B2B领域需要更多的竞争对手,需要更 激烈的竞争. 一.需要强劲对手,避免一家独大 相对而言,在国内B2B领域,以前虽然有慧聪.环球资源.MadeInChina等较大规模的B2B网站存在,但阿里巴巴的势力还是太大

让“3B大战”来的更猛烈些吧

中介交易 SEO诊断 淘宝客 云主机 技术大厅 哪里有360,哪里就有战争.此次360直接瞄准了搜索巨头百度.显然,当初的3Q大战,百度有研究.而且研究的还挺透.一直以为360多是以攻为主,而这次莫名的选择了低调,一改常态.让很多人摸不着头脑.但这次周鸿祎显然预谋了很久,大有要"诸葛亮气死周瑜的"气势.而一向"温和尔雅"的百度终于打破沉默,大规模对360采取反制措施,用户通过360综合搜索访问百度服务时,强行跳转至百度首页. 周的目的达到了,暂且我们不去讨论谁输谁赢

让移动互联网摧毁出租车来的更猛烈些吧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 全球增长最快的叫车应用Uber上周再遭禁令:德国首都柏林市宣布禁止用Uber叫车,违者将予以重罚.此前,Uber在西雅图.纽约.首尔和香港等国际都市先后遭此禁令,而来自全球出租车司机的抗议更是连绵不绝.同样在上周,北京的交通监管机构出台行政法规,明令禁止私家车挂靠租赁公司运营和商务租车公司提供类似出租车服务,"为非法运营者提供便利&