HTTP 2.0与HTTP 1.0的区别

  • 1、什么是HTTP 2.0
  • 2、与HTTP 1.1相比,主要区别包括
  • 3、HTTP/2为什么是二进制?
  • 4、为什么 HTTP/2 需要多路传输?
  • 5、消息头为什么需要压缩?
  • 6、服务器推送的好处是什么?

1、什么是HTTP 2.0

HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网。HTTP/2是HTTP协议自1999年HTTP 1.1发布后的首个更新,主要基于SPDY协议(是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。

2、与HTTP 1.1相比,主要区别包括

HTTP/2采用二进制格式而非文本格式
HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
使用报头压缩,HTTP/2降低了开销
HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

3、HTTP/2为什么是二进制?

比起像HTTP/1.x这样的文本协议,二进制协议解析起来更高效、“线上”更紧

HTTP 2.0与HTTP 1.0的区别 ?相关推荐

  1. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)

    Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...

  2. mysql 8.0 docker_Docker安装MySQL8.0的实现方法

    环境:MacOS_Cetalina_10.15.1.Mysql8.0.18.Docker_2.0.0.3 1.docker仓库搜索mysql docker search mysql 2.docker仓 ...

  3. RedHat 7.0及CentOS 7.0禁止Ping的三种方法

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=538 前言: "Ping"属于ICMP协议(即"Internet控制报文协议") ...

  4. 【Linux】在VirtualBox-6.0中安装Manjaro18.0

    1.参考博客: VMware虚拟机下Manjaro17.1.6安装详细教程 2.在VirtualBox-6.0中安装Manjaro18.0 1)基本步骤和博客中安装17.1.6相同,下面只记录不同的. ...

  5. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)

    编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的&q ...

  6. 从零开始学习tensorflow2.0之熟悉tf2.0的数据

    导入tensorflow2.0 安装tensorflow2.0,使用pip安装,在jupyter notebook之中 !pip install tensorflow !pip install ten ...

  7. 记selenium1.0升级到selenium2.0

    前阵子因为要进行支持多浏览器的自动化测试,原来selenium1.0仅支持到firefox3.6,IE8,chrome4的版本,而公司GA数据显示用户多使用IE9,Firefox20,chrome26 ...

  8. 更改mvc版本的时候,手动修改交3.0改到4.0,将razor改到2.0,仍然提示出现错误,mvc3.0...

    偶然碰到,更改mvc版本,由3.0升级到4.0,但是依然提示3.0的错误 几经周折排查,最终发现 <runtime><assemblyBinding xmlns="urn: ...

  9. oracle websp,探索Web2.0成就SP 2.0之路

    最近我看到互联网上最火爆的话题是:Web2.0如何赢利?而在SP行业论坛中最热的讨论是:是SP如何走出当前的困局,最近也有些行业人士抛出了一个SP2.0的概念.前段时间和网易前内容总监李学凌聊天,他说 ...

  10. torch==1.1.0和torchvision-0.3.0安装

    torch==1.1.0和torchvision-0.3.0安装 分开安装,每次都会把torch升级成1.5.0把版本.解决办法,一起安装. pip3 install --timeout=12000 ...

最新文章

  1. 360能删除mysql吗_如何彻底删除MYSQL
  2. 逃离美股!瑞信给出了11个理由
  3. 【模型解读】深度学习网络之Siamese Network网络
  4. Sentinel授权规则及规则持久化
  5. 单例模式160905
  6. ubuntu 16.04 安装TensorFlow GPU版本
  7. distinct sql用法_十分钟搞懂SQL数据分析
  8. 编程随想 关系图_支持PLC编程的5大语言,全部会用的才是大神!
  9. C#音视频处理开源项目收录
  10. 不定期总结程序员常见误区
  11. MySQL5.5的安装步骤
  12. 五阶魔方公式java_5阶魔方教程(五阶魔方一步一步图解)
  13. 工程制图计算机绘图实训总结感悟,工程制图心得体会.doc
  14. 【WEB前端优化】面试必备
  15. [解决问题]Android Studio报错:some kotlin libraries attached to this project were compiled with a newer kot
  16. phpwind9.0 read.php 修改,phpwind9.0模板制作教程——制作论坛风格
  17. office2019怎么在同一个窗口显示多个文件
  18. manjaro和android数据线传数据
  19. 训练日记2019.11.13 冬至日
  20. 关于“基于模型的思想”的一些引述和评论

热门文章

  1. 小米合作鸿蒙系统了么,小米等国产手机会使用鸿蒙系统吗?
  2. 推荐5款学Java开发的必备工具
  3. 学不好Web前端的几个原因总结
  4. 要启用实时(jit)调试 该应用计算机,解决%_启用实时(JIT)调试+编译应用程序时还必须启用方法歩骤?谁有最终解决方案?...
  5. jQuery遍历(1)
  6. python读写、创建 文件(一)
  7. VTK:正态估计用法实战
  8. VTK:绘制BarChart条形图用法实战
  9. boost::multi_array模块实现创建负步幅视图的小测试
  10. boost::lexical_cast模块将创建一个to_long_double方法,将 Boost.Variant 的值转换为long double