2021年7月28日 补充

http1.1

  1. http1.1 将持久连接 keep alive 变成了默认行为 (发布于1997年)
  2. http1.1 存在队头堵塞 (chrome要求界面中每个域名只能建立6个持久连接)
  3. http1.1 头信息是文本 数据可以是文本或者 二进制

http2

  1. http2 (发布于2015年) 头信息和数据体都是二进制 统称为 “帧” (frame)
  2. http2 实现了 multiplexing 多路复用(多工)算法
  3. http2 连接 客户端和服务端只会建立1个连接,请求的并行处理不再依赖多个连接,没有并发限制

http3

  1. http3 2018年已经发布了
  2. http2和1.1 都是tcp 协议
  3. http3 使用基于UDP开发的QUIC的传输层协议 https://zhuanlan.zhihu.com/p/143464334
  4. QUIC(Quick UDP Internet Connections,快速 UDP 网络连接)
  5. QUIC 丢掉了 TCP、TLS 的包袱,基于 UDP,并对 TCP、TLS、HTTP/2 的经验加以借鉴、改进,实现了一个安全高效可靠的 HTTP 通信协议。凭借着 0 RTT 建立连接、平滑的连接迁移、基本消除了队头阻塞、改进的拥塞控制和流量控制等优秀的特性,QUIC 在绝大多数场景下获得了比 HTTP/2 更好的效果。

基本概念

图片出处: https://www.bilibili.com/video/BV1p541147LD
官方说明: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP

看图


同样的html页面 因为http协议不同 页面加载速度完全不同


http1.0 每一次请求都会进行建立连接与断开连接的操作


http1.1 只有建立连接1次 断开连接1次

Chrome浏览器最多同时建立6个连接.

http2 一次把要请求的服务全部告诉服务端, 服务端可以不按顺序返回资源

http2的浏览器兼容性

总结

  1. 谷歌浏览器同时只能打开6个tcp连接 (防止服务端压力过大)
  2. 为什么http1.1 网络传输数据量反而变大了? (使用了keep live )
  3. http2 核心技术 二进制分帧层 (https://juejin.cn/post/6844903545532071943)
  4. 如何开启http2 (nginx apache 修改配置项即可)
  5. 如何查看 是否开启http2? 在浏览器控制台 网络中 打开(Protocol)协议的显示
  6. HTTP 2.0只能用于https://网址,http://网址将继续使用HTTP 1.1

HTTP1 HTTP1.1 HTTP2主要区别及 HTTP3相关推荐

  1. HTTP及其版本(HTTP1.0、HTTP1.1、HTTP2.0、HTTP3.0)详解

    目录 HTTP协议 基础知识 Http版本 Http1.0 Http1.1 Http2.0 Http3.0 总结 HTTP协议 基础知识 HTTP协议是超文本传输协议的缩写,是用于从万维网传输超文本到 ...

  2. HTTP1.0 、 HTTP1.1、HTTP2.0的主要区别

    HTTP1.0 VS HTTP1.1 长连接: HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接(PersistentConnection) ...

  3. HTTP1.0和HTTP2.0的区别,以及HTTP和HTTPS的区别

    一.HTTP1.0和HTTP2.0的区别 总的区别就是: HTTP/2采用二进制格式而非文本格式 HTTP/2是完全多路复用的,而非有序并阻塞的--只需一个连接即可实现并行 使用报头压缩,HTTP/2 ...

  4. HTTP1.0、HTTP1.1和HTTP2.0的区别

    HTTP1.0.HTTP1.1和HTTP2.0的区别 文章目录 HTTP1.0.HTTP1.1和HTTP2.0的区别 一.HTTP的历史 二.HTTP的基本优化 三.HTTP1.0和HTTP1.1的区 ...

  5. http1.1 和http2 和 ServiceWorker

    之前写的一篇水文,一次性上传300张图片引发的思考 在12.02上了热搜.关注者从8个涨到400多个,诚惶诚恐.感谢大家的支持和android小姐姐的漂亮眼影. 上热搜和涨粉丝不是本意,csdn只是记 ...

  6. Http和Https的区别、http1.0、http1.1、http2.0

    一.HTTP/HTTPS HTTP(HyperText Transfer Protocol:超文本传输协议),HTTPS(Hypertext Transfer Protocol Secure:超文本传 ...

  7. http1,http1.1,http2及http3

    http1的问题: 1.浏览器阻塞,浏览器对于同一个域名同时请求个数是有限制,根据浏览器内核不同,限制请求个数是不一,但基本是个位数,超过请求个数就会阻塞,必须等前面的请求完成 2.DNS查询,域名解 ...

  8. http1.1和http2的主要区别

    1.什么是HTTP 2.0 HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网.HTTP/2是HTTP协议自1999年HTTP 1.1发布 ...

  9. 谈谈HTTP1.0,HTTP1.1和HTTP2.0区别

    >>>点击获取更多文章<<< HTTP定义 HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏 ...

最新文章

  1. JAVA 第五周学习总结
  2. Jumony入门(二)初识选择器
  3. k8s集群DNS无法解析问题的处理过程
  4. VTK:可视化之HanoiInitial
  5. OD的hit跟踪和run跟踪
  6. pandas.Series.rank用法详解
  7. python lambda函数两个列表大小关系_python lambda结合列表推导式?
  8. 【数码管识别】4识别成5或7的问题
  9. 基于QT的HLW8032电能芯片测试上位机开发
  10. 我对Javascript闭包的理解
  11. Springboot中自动转JSON输出
  12. 超标量处理器设计 姚永斌 第7章 寄存器重命名 摘录
  13. 让物体沿椭圆轨道运动
  14. java数据结构--hashset
  15. 浏览器在线或离线状态检测
  16. python淘宝cookies抢购_python获取淘宝登入cookies
  17. ES集群宕机后处理——重新分配shards,负载均衡
  18. 汉语口语自动翻译技术走出了纸上谈兵 (转)
  19. 绝缘栅型n沟道场管_技术小科普—MOS管场效应管(MOSFET)详解
  20. 左乘右乘,旋转矩阵正负号

热门文章

  1. 2022百度收录批量自动推送助手
  2. 【云速建站】购买前的指导
  3. 【入门嵌入式系统】基础知识梳理总结
  4. EOJ 3452 唐纳德先生和假骰子
  5. 使用OES纹理+GLSurfaceView+JNI实现基于OpenGL ES的播放器画面处理
  6. android订餐系统app、android购物商城系统app 手机端+服务器端 mysql数据库,界面简单,功能齐全 安卓购物商城 安卓在线订餐系统
  7. CSP 复赛注意事项
  8. 第一章 日常生活中的正念
  9. 智能雷达感应模组应用,让监控更加智能化,雷达存在感应助力安防技术发展
  10. 使用IDEA创建maven项目却没有src目录的问题