HTTP1 HTTP1.1 HTTP2主要区别及 HTTP3

本文介绍了HTTP协议的发展历程,从HTTP1.1的持久连接和队头堵塞问题,到HTTP2的二进制分帧和多路复用,再到HTTP3采用QUIC协议以解决TCP和TLS的局限。HTTP2提高了页面加载速度,而HTTP3则通过QUIC协议进一步优化了连接效率和性能。理解这些变化对于优化网络性能至关重要。
摘要由CSDN通过智能技术生成

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 每一个1请求1个文件都会进行建立连接与断开连接的操作
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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值