新年新技术:HTTP/2

新的一年,项目也要带着发展的眼光往前走,得跟上潮流,当然前提是自己真的用的上。 用的上用不上都得先简单了解下。

2月下旬Google发布了首个基于HTTP/2的RPC框架GRPC,它是基于HTTP/2的,所以先了解下它,后续等深入研究了再回头说说GRPC。

What’s new in HTTP/2?

is binary, instead of textual

HTTP/2基于二进制而不是文本,二进制协议解析起来效率会更高,而且不那么容易出错,此外原来基于HTTP/1.x协议程序可以用多种方式解析消息体, 但是HTTP/2只有一种方式,这点对实现者来说负担更轻点。

is fully multiplexed, instead of ordered and blocking

HTTP/1.x实际上是一个请求一个连接,因此浏览器为了提高页面的加载速度都会开多个连接,但是这也是有限制的(不同的浏览器不一样)。 太多的连接带来的是互联网上更多的拥塞和占用了更多的资源,这本身是低效而且是不公平的(对其他协议来说)。

HTTP/2的一个重要目的是让浏览器和服务器之间只建立一个连接,用一个连接实现了并行的请求处理,这就是multiplexing。

因为基于二进制所以telnet无法使用HTTP/2。

can therefore use one connection for parallelism

上面已经提到了,HTTP/2只允许浏览器和服务器之间建立一个连接,用一个连接实现并行,减少TCP连接数。

uses header compression to reduce overhead

现在网页加载是资源密集型的,一个页面通常有很多资源要加载,每次请求的头部数据不可忽视(尤其是Cookies), 加上TCP的Slow Start机制(一种拥塞控制机制)会导致往返次数加大。压缩可以有效的减少包分组的数量,从而减少延迟,尤其是在移动端上。

因为GZIP压缩有安全性隐患,所以HTTP/2自己实现了一套压缩算法——HPACK。

allows servers to “push” responses proactively into client caches

目前服务器需要浏览器解析页面后再发送新请求来获取js,css,图片等资源。HTTP/2为了优化这个开销,可以提前将这些资源“推送”到客户端的缓存中。

目前HTTP/2的使用情况?

Github上专门有一个Wiki页跟踪了有哪些HTTP/2的实现。我们比较关心的是Google发布的GRPC。

官方文档

上述内容都是官方文档的内容,深入了解最好方式还是看官方的文档。

HTTP/2

时间: 2024-10-11 20:30:54

新年新技术:HTTP/2的相关文章

新年新技术:MongoDB 3.0

前一篇介绍了HTTP/2,这一篇简单介绍下3月3号发布的MongoDB 3.0. What’s new in MongoDB 3.0? 新的存储引擎WiredTiger MongoDB 3.0的存储引擎是插件式的,默认为新增的WiredTiger.WiredTiger相比原来的MMAPv1引擎的优点: 文档级别的锁 这个改进真是盼望已久啊,一直以来MongoDB的锁粒度都被人诟病,根据我们实际的经验MongoDB在高并发的读写混合场景下性能很差. 更高的压缩比 新的MongoDB使用了前缀压缩

新年计划(参考)

新年计划 还是给自己一个计划. 新年规划,还是按照我的观念,先生活后工作: 1.首要大事应该是要搞定每次打电话回家父母都要关心的事情了.但愿吧,自己不急,感觉时间大把,但是父母以他们的观念来看,已经等不及了. 2.从今年开始,每年孝敬父母一个月的工资,算是每年为父母工作一个月吧. 3.职业发展上能够再上一层楼.至于是什么就不说了,心里有数. 4.开始学会理财,08年底和09年底都把自己的所有支出统计了一次,发现工资的收入几乎是和支出相等的,没有什么剩余.看着一堆的支出项,却又不知道花往何处了.今

新年之际,盘点一些APP开发技巧

(原文:Reader Submissions - New Year's 2015 作者:Mattt Thompson 译者:培子 校对:蓝魂) 回顾过去一年发生在我们身边的事情时,有一点不得不提:对苹果开发者来讲,2014年是令人难以置信的一年.在这短短的一年中(有关APP的开发)发生了如此多的变化:在充满吸引力的Swift面前,我们几乎忘了之前是如何痴迷于Objective-C:以及充满想象力的iOS 8和WatchKit,难以想象还有什么API能与之相比. NSHipster的惯例:请可爱的

怎样设定目标(七)号召:使我的新年目标成功!

是时候开始规划我的新年目标了吗? 我想,每当大家走到旧一年快要结束时,你脑海中又重现了这个问题--是时候开始规划我的新年目标了吗?说句实话,我们承受了太多的失败,以往这个时候你也计划了新一年的目标,可结果总是不了了之.或许你已经认为新年目标不过是个愿望而已,它根本就不管用!年复一年,不出几个月不是忘得干干净净,就是一甩便放弃了. 为什么新年目标看起来不成功? 想像一下:在年终庆祝会上,一位好友蹭了过来跟你聊天:"你明年有什么打算?"你根本就还没有认真地考虑过,所以只好含糊地回答:&qu

如何处理“新技术开发”和项目管理之间的关系

在新产品研发过程中,会时常采用新的技术和方法,无论是用户,或者是上层领导决定的,对于项目来说,肯定是有一定的风险,处理不当,甚至可能导致项目的失败. 但是,采用新的技术和方法会给项目带来很多的好处,例如:产品功能的更加丰富.强大,项目开发的进度加快.成本降低.质量提高等.另一方面,对于产品开发过程里的每个人而言,都是一个不小的挑战,收获也会很大.这也是为什么阿里.百度.腾讯等公司能吸引大批优秀开发者的原因之一吧! 一般来讲,对于公司的发展战略有直接支持的新技术或多个产品有共性的新技术,应该放在公

分享:我用一天时间开发的 新年送祝福 微信手机网站(可在线体验附图)(要代码的留下邮箱)

分享:我用一天时间开发的 新年送祝福 微信手机网站(要代码的留下邮箱) (可在线体验附图)(要代码的留下邮箱) 大家有好的建议或想法欢迎随时与我联络,并将附赠全部代码一份. 微信或手机浏览器中的运行效果如下: 首页 摇一摇之后 编辑祝福语 祝福送给朋友 祝福送给微信朋友后的效果: 手机或微信体验地址: http://fenxiang.yunxunmi.com/ 微信二维码:  大家有好的建议或想法欢迎随时与我联络,并将附赠全部代码一份.

新技术让电子设备不再“发烧”

如果你将现在的自己跟十年前的自己对比一下,除了发福的身材外,最大的变化应该就是我们被数码产品包围了,智能手机.笔记本电脑.可穿戴智能设备和数码相机等等,然而几乎所有的数码产品都有一个问题,那就是随着使用的时间延长,内部温度也会逐渐上升,其中以笔记本电脑和智能手机最为严重.设计稍差和质量稍差的产品甚至在使用一段时间后,温度高到都能够烤肉了. 面对着这个严峻的问题,到底该如何解决呢?我们先来看看它们目前技术下有可能达到的最高温度,先看看笔记本电脑,一般家用级的笔记本电脑在运行大型3D游戏的时候温度会

【新技术】免ios开发者账号申请ios证书打包ipa真机调试

虽然xcode现在可以免证书进行测试了,但众多跨平台开发者,如果还没注册苹果开发者账号. 想安装到自己非越狱手机测试是无能为力了. 不过新技术来了,只需要普通免费的苹果账号无需付费成为开发者就可以申请iOS证书打包ipa安装到自己手机测试,强大吧! 这个神器就是Appuploader,ios app测试及上架辅助工具. Appuploader安装教程 当然如果要上架App Store还是需要注册一个付费的苹果开发者账号. 如果只是安装ios应用到自己手机测试,现在只需要注册一个普通的苹果账号就行

新年计划随笔

新年终于颤颤巍巍的走了,元宵节也随之而过了,工作第二年的自己也需要有进一步的进步了,新的一年里希望自己能有更多的收获学习. 近期的小目标: 1.每天早上起床,温习线性代数,理解学校时期没有理解的东西,为后期的拔高做好基础. 2.学习更好的时间规划,可以更充分的利用时间学习.工作.尽量减少无意识的消耗的时间. 3.学习一些爬虫或者经济相关的知识. 4.可以保持一些做总结的好习惯. 对自己暂时就这么多要求了,so,前进路上,且行且努力.加油!!