HTTP1 HTTP1.1 HTTP2主要区别及 HTTP3
2021年7月28日 补充
http1.1
- http1.1 将持久连接 keep alive 变成了默认行为 (发布于1997年)
- http1.1 存在队头堵塞 (chrome要求界面中每个域名只能建立6个持久连接)
- http1.1 头信息是文本 数据可以是文本或者 二进制
http2
- http2 (发布于2015年) 头信息和数据体都是二进制 统称为 “帧” (frame)
- http2 实现了 multiplexing 多路复用(多工)算法
- http2 连接 客户端和服务端只会建立1个连接,请求的并行处理不再依赖多个连接,没有并发限制
http3
- http3 2018年已经发布了
- http2和1.1 都是tcp 协议
- http3 使用基于UDP开发的QUIC的传输层协议 https://zhuanlan.zhihu.com/p/143464334
- QUIC(Quick UDP Internet Connections,快速 UDP 网络连接)
- 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的浏览器兼容性
总结
- 谷歌浏览器同时只能打开6个tcp连接 (防止服务端压力过大)
- 为什么http1.1 网络传输数据量反而变大了? (使用了keep live )
- http2 核心技术 二进制分帧层 (https://juejin.cn/post/6844903545532071943)
- 如何开启http2 (nginx apache 修改配置项即可)
- 如何查看 是否开启http2? 在浏览器控制台 网络中 打开(Protocol)协议的显示
- HTTP 2.0只能用于https://网址,http://网址将继续使用HTTP 1.1
HTTP1 HTTP1.1 HTTP2主要区别及 HTTP3相关推荐
- HTTP及其版本(HTTP1.0、HTTP1.1、HTTP2.0、HTTP3.0)详解
目录 HTTP协议 基础知识 Http版本 Http1.0 Http1.1 Http2.0 Http3.0 总结 HTTP协议 基础知识 HTTP协议是超文本传输协议的缩写,是用于从万维网传输超文本到 ...
- HTTP1.0 、 HTTP1.1、HTTP2.0的主要区别
HTTP1.0 VS HTTP1.1 长连接: HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接(PersistentConnection) ...
- HTTP1.0和HTTP2.0的区别,以及HTTP和HTTPS的区别
一.HTTP1.0和HTTP2.0的区别 总的区别就是: HTTP/2采用二进制格式而非文本格式 HTTP/2是完全多路复用的,而非有序并阻塞的--只需一个连接即可实现并行 使用报头压缩,HTTP/2 ...
- HTTP1.0、HTTP1.1和HTTP2.0的区别
HTTP1.0.HTTP1.1和HTTP2.0的区别 文章目录 HTTP1.0.HTTP1.1和HTTP2.0的区别 一.HTTP的历史 二.HTTP的基本优化 三.HTTP1.0和HTTP1.1的区 ...
- http1.1 和http2 和 ServiceWorker
之前写的一篇水文,一次性上传300张图片引发的思考 在12.02上了热搜.关注者从8个涨到400多个,诚惶诚恐.感谢大家的支持和android小姐姐的漂亮眼影. 上热搜和涨粉丝不是本意,csdn只是记 ...
- Http和Https的区别、http1.0、http1.1、http2.0
一.HTTP/HTTPS HTTP(HyperText Transfer Protocol:超文本传输协议),HTTPS(Hypertext Transfer Protocol Secure:超文本传 ...
- http1,http1.1,http2及http3
http1的问题: 1.浏览器阻塞,浏览器对于同一个域名同时请求个数是有限制,根据浏览器内核不同,限制请求个数是不一,但基本是个位数,超过请求个数就会阻塞,必须等前面的请求完成 2.DNS查询,域名解 ...
- http1.1和http2的主要区别
1.什么是HTTP 2.0 HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网.HTTP/2是HTTP协议自1999年HTTP 1.1发布 ...
- 谈谈HTTP1.0,HTTP1.1和HTTP2.0区别
>>>点击获取更多文章<<< HTTP定义 HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏 ...
最新文章
- JAVA 第五周学习总结
- Jumony入门(二)初识选择器
- k8s集群DNS无法解析问题的处理过程
- VTK:可视化之HanoiInitial
- OD的hit跟踪和run跟踪
- pandas.Series.rank用法详解
- python lambda函数两个列表大小关系_python lambda结合列表推导式?
- 【数码管识别】4识别成5或7的问题
- 基于QT的HLW8032电能芯片测试上位机开发
- 我对Javascript闭包的理解
- Springboot中自动转JSON输出
- 超标量处理器设计 姚永斌 第7章 寄存器重命名 摘录
- 让物体沿椭圆轨道运动
- java数据结构--hashset
- 浏览器在线或离线状态检测
- python淘宝cookies抢购_python获取淘宝登入cookies
- ES集群宕机后处理——重新分配shards,负载均衡
- 汉语口语自动翻译技术走出了纸上谈兵 (转)
- 绝缘栅型n沟道场管_技术小科普—MOS管场效应管(MOSFET)详解
- 左乘右乘,旋转矩阵正负号