博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新年新技术:HTTP/2
阅读量:6428 次
发布时间:2019-06-23

本文共 1164 字,大约阅读时间需要 3 分钟。

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

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的机制(一种拥塞控制机制)会导致往返次数加大。压缩可以有效的减少包分组的数量,从而减少延迟,尤其是在移动端上。

因为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。

官方文档

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

转载于:https://www.cnblogs.com/zhanjindong/p/new-technique-in-new-year-HTTP2.html

你可能感兴趣的文章
python接口自动化测试(八)-unittest-生成测试报告
查看>>
第 26 章 MySQL
查看>>
Spring.net 学习笔记之ASP.NET底层架构
查看>>
C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
查看>>
Java 动态太极图 DynamicTaiChi (整理)
查看>>
微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
查看>>
git使用教程2-更新github上代码
查看>>
张掖百公里,再次折戟
查看>>
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
查看>>
本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
查看>>
图解SSIS监视文件夹并自动导入数据
查看>>
Lucene.Net 2.3.1开发介绍 —— 四、搜索(一)
查看>>
MyBatis Review——开发Dao的方法
查看>>
技术研发国产化进程加快 看传感器企业如何展示十八般武艺
查看>>
技术助力第三次革命
查看>>
《HTML与CSS入门经典(第8版)》——2.6 总结
查看>>
在 CentOS7.0 上搭建 Chroot 的 Bind DNS 服务器
查看>>
大型网站的 HTTPS 实践(二):HTTPS 对性能的影响
查看>>
《Swift 权威指南》——第6章,第6.10节嵌套函数
查看>>
《自己动手做交互系统》——1.3 本章小结
查看>>