HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载速度。HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则,它主要修改了HTTP的报文传输格式,通过引入二进制分帧实现性能的提升。
HTTP/2解决了什么问题?

HTTP是应用最广泛、采用最多的一个互联网应用协议。早期版本的HTTP协议实现简单:HTTP/0.9只用一行协议就启动了万维网;HTTP/1.0则是对流行的HTTP/0.9扩展的一个正式说明;直到HTTP/1.1,IETF才发布可第一份官方标准。早期为了实现简单是以牺牲应用性能为代价:HTTP/1.1客户端需要使用多个连接才能实现并发和缩短延迟;HTTP/1.1不会压缩请求头字段和响应头字段,从而产生不必要的网络流量;HTTP/1.1不支持有效的资源优先级,致使底层TCP连接的利用率低下等等。

随着网络应用普及到人们的日常生活,它的应用范围、复杂性、重要性也在不断扩大。为了解决HTTP协议问题,HTTP/2应运而生。HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则,它主要修改了HTTP的报文传输格式,通过引入二进制分帧层实现性能的提升。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行首部压缩、对数据传输采用多路复用和增加服务器推送等举措,来减少网络延迟,提高客户端的页面加载速度。
HTTP/2 vs HTTP/1.1
高健壮性

HTTP/1.1,使用基于文本格式,文本表现形式多样、场景多,健壮性不足。HTTP/2使用二进制格式,只有0和1的组合,选择二进制传输,协议解析实现方便且健壮。
高性能

HTTP连接会随着时间进行自我调节,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调节被称为TCP慢启动。这种调节让具有突发性和短时性的HTTP连接变的十分低效。HTTP/2通过多路复用让所有数据流使用同一个连接,有效使用TCP连接,让高带宽也能真正的服务于HTTP的性能提升。

HTTP/2在应用层和传输层之间增加了二进制分帧,突破了HTTP/1.1性能限制,改进传输性能,实现低延迟和高吞吐量。
网络开销低

HTTP/2使用HPACK算法来压缩每次请求连接的头字段,降低了网络开销。HPACK算法可以减少需要传输的头字段大小,通讯双方通过建立和维护头字段表,字段表中使用长度较小的索引号表示重复的字符串,在用Huffman编码压缩数据,既避免了重复头字段的传输,又减小了需要传输的大小。
HTTP/2有哪些关键特性?
二进制分帧

HTTP/2所有性能增强的核心在于新的二进制分帧层,如下图所示,它是所有其他功能和性能优化的基础,它定义了如何封装HTTP消息并在客户端与服务器之间传输。
二进制分帧

HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则,它主要修改了HTTP的报文传输格式。HTTP/1.1协议以换行符作为纯文本的分隔符,而HTTP/2将所有传输的信息分割为更小的消息和帧,并采用二进制格式对它们编码,这些帧对应着特定数据流中的消息,他们都在一个TCP连接内复用。

什么是HTTP/2?HTTP/2和HTTP/1.1区别是什么?相关推荐

  1. 十大算法,描述+代码+演示+分析+改进(赶紧收藏!)

    十大算法 1.冒泡排序 ​ (1)算法描述 ​ 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要 ...

  2. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  3. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  4. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  5. 2022-2028年中国产后修复行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国产后修复行业市场行业相关概述.中国产后修 ...

  6. 2022-2028年中国地沟油制生物柴油行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国地沟油制生物柴油行业市场行业相关概述.中 ...

  7. 2022-2028年中国儿童医疗行业深度调研及投资前景预测报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国儿童医疗行业市场行业相关概述.中国儿童医 ...

  8. 2022-2028年中国科技馆行业研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国科技馆行业市场行业相关概述.中国科技馆行 ...

  9. 2021-2027年中国医疗旅游业投资分析及前景预测报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国医疗旅游行业市场行业相关概述.中国医疗旅 ...

  10. 2021-2027年中国智能马桶盖行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国智能马桶盖行业市场行业相关概述.中国智 ...

最新文章

  1. ELK 性能优化实践
  2. 百度拿不到Big Data资源,7h删抓紧时间!!
  3. gradle的基本设置
  4. 315MHz 高频射频发射模块
  5. usb端点轮询_使用Spring Integration轮询http端点
  6. 【RabbitMQ】2、心得总结,资料汇总
  7. ASIHTTPRequest框架进行文件下载
  8. 使用slickedit代替sourceinsight
  9. 关于NB-IoT的十大问题和答案
  10. 【亲测可行】Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具...
  11. 电驴无法增加服务器怎么办,电驴连接不上服务器怎么办?
  12. 多重if-else的精简方式
  13. nacos 未读取到合法数据,请检查导入的数据文件
  14. Android中的传感器之---加速度传感器
  15. 接口报错500是什么意思_接口测试遇到500报错?别慌,你的头部可能有点问题!...
  16. 【Pytest篇】pytest生成报告的几种方式
  17. 求一份很早的MUD文字游戏,海洋2或者海洋3的代码
  18. mxn的矩阵乘以自身转置的意义
  19. 【redis】redis各稳定版本特性(更新到6.0版本)
  20. [图+视频]微软研究院视频揭示最新Windows桌面搜索技术

热门文章

  1. json.stringify()函数
  2. 计算机技术与移动支付的关系,移动支付的破与立
  3. 希尔伯特变换(Hilbert Transform)的性质
  4. trickle ICE文档翻译 [draft-rescorla-mmusic-ice-trickle-01.txt]
  5. 疯狂java——集合、泛型、Stream
  6. 手工轻松发送匿名邮件
  7. Knight On the Chessboard
  8. emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法
  9. 计算机键盘输入法基础知识,电脑打字入门基础知识
  10. 用于前列腺近距离放疗的MRI / TRUS数据融合初步结果