本文参考:小林coding3.1 HTTP 常见面试题 | 小林coding
ChatGPT,仅用于自用复习
HTTP/2.0和HTTP1.1有什么区别
1、传输格式变化,采⽤了新的⼆进制格式
HTTP1.X 的解析都是基于⽂本,⽂本的表现形式多样,不利于健壮性考虑
HTTP2.0 采⽤⼆进制,只认0/1组合,实现更加快的⽅法,健壮性更加完善
2、多路复⽤
HTTP/1.1: 单个 TCP 连接中只能处理一个请求,必须等待上一个请求完成后才能发送下一个(队头阻塞问题)。为提高效率,通常通过建立多个 TCP 连接并行发送请求。
HTTP/2.0: 支持多路复用,在一个 TCP 连接中可以同时发送多个请求和响应,互不干扰,解决队头阻塞问题,提高了传输效率。
3、header压缩
HTTP/1.1: 请求和响应头部通常会携带大量重复数据(如 Cookie),在每次请求中都会重复传输,浪费带宽。
HTTP/2.0: 引入了 HPACK 压缩算法,将头部数据压缩后再传输,同时在客户端和服务器之间维护一个动态表以存储重复的头部字段,大幅减少了头部大小。
- 服务端推送
HTTP/1.1: 客户端必须显式请求资源,服务器才能响应。
HTTP/2.0: 允许服务器主动向客户端推送资源(如 CSS、JS 文件),减少了客户端等待资源加载的时间,优化页面加载速度。
把客户端所需要的资源伴随着index.html⼀起发送到客户端,省去了客户端重复请求的步骤
因为没有发起请求,建⽴连接等操作,所以静态资源通过服务器推送,可以极⼤的提升速度
5. 兼容性
HTTP/2.0: 兼容 HTTP/1.1 的语义(如请求方法、状态码等),因此可以平滑升级,应用程序无需大幅修改即可支持 HTTP/2.0。
1141

被折叠的 条评论
为什么被折叠?



