news 2026/6/13 3:12:53

http1.1 vs http2区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
http1.1 vs http2区别

严格来说,没有HTTP 1.2这个正式标准协议。

HTTP 协议的主要版本发展如下:

  1. HTTP/0.9(1991)

  2. HTTP/1.0(1996)

  3. HTTP/1.1(1997,最广泛使用)

  4. HTTP/2(2015)

  5. HTTP/3(2022)

很多人说的“HTTP1.2”通常是以下几种情况:

  • 口误,实际上指HTTP/2

  • 某些厂商内部版本号,并非 IETF 标准

  • 对 HTTP/1.1 的增强实现误称为 HTTP1.2


HTTP/1.0 与 HTTP/1.1 的区别

1. 长连接(Keep-Alive)

HTTP/1.0

每个请求都需要建立 TCP 连接:

建立TCP连接 ↓ 发送请求 ↓ 返回响应 ↓ 关闭连接

访问一个页面:

index.html style.css main.js logo.png

可能建立 4 次 TCP 连接。


HTTP/1.1

默认开启长连接:

建立TCP连接 ↓ 请求1 ↓ 响应1 ↓ 请求2 ↓ 响应2 ↓ 关闭连接

优点:

  • 减少 TCP 握手

  • 降低延迟

  • 提高性能


2. Host 头支持

HTTP/1.0:

GET /index.html HTTP/1.0

服务器不知道访问哪个网站。


HTTP/1.1:

GET /index.html HTTP/1.1 Host: www.example.com

同一 IP 可以部署多个网站(虚拟主机)。


3. 管道化(Pipelining)

HTTP/1.1 新增:

请求1 请求2 请求3

不用等待响应。

但实际浏览器支持不好,后来被 HTTP/2 多路复用取代。


4. 缓存机制更完善

HTTP/1.0:

If-Modified-Since Expires

HTTP/1.1 新增:

Cache-Control ETag If-None-Match

例如:

Cache-Control: max-age=3600

比 Expires 更灵活。


5. 分块传输(Chunked)

HTTP/1.0:

必须知道内容长度:

Content-Length: 1024

HTTP/1.1:

支持:

Transfer-Encoding: chunked

边生成边发送:

4 Wiki 5 pedia 0

适用于:

  • 文件下载

  • 流式响应

  • SSE


HTTP/1.1 与 HTTP/2 的区别

HTTP/1.1

存在队头阻塞(Head Of Line Blocking)

请求1 -> 响应1 请求2 -> 等待 请求3 -> 等待

HTTP/2

多路复用:

TCP连接 ├── Stream1 ├── Stream2 ├── Stream3 └── Stream4

多个请求同时进行。


HTTP/2 新特性

二进制帧

HTTP/1.1:

纯文本

HTTP/2:

二进制 Frame

解析效率更高。


Header 压缩

使用:

HPACK

减少重复 Header 传输。

例如:

Cookie User-Agent Authorization

不会每次完整发送。


Server Push(现已基本废弃)

服务器主动推送:

请求 index.html ↓ 服务器顺带推送 style.css main.js

面试常问

为什么 HTTP/2 比 HTTP/1.1 快?

答案:

  1. 多路复用

  2. Header 压缩

  3. 二进制传输

  4. 减少 TCP 连接数量

  5. 降低网络延迟


总结

特性HTTP/1.0HTTP/1.1HTTP/2
长连接✅ 默认开启
Host头
管道化✅(多路复用)
Chunked
Header压缩
二进制传输
多路复用
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 3:10:52

欧洲卡车模拟2自动驾驶插件:终极车道保持辅助完整指南

欧洲卡车模拟2自动驾驶插件:终极车道保持辅助完整指南 【免费下载链接】Euro-Truck-Simulator-2-Lane-Assist Plugin based interface program for ETS2/ATS. 项目地址: https://gitcode.com/gh_mirrors/eur/Euro-Truck-Simulator-2-Lane-Assist 你是否曾经梦…

作者头像 李华
网站建设 2026/6/13 3:08:34

Mem Reduct:终极免费高效内存清理工具完整应用指南

Mem Reduct:终极免费高效内存清理工具完整应用指南 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct Mem R…

作者头像 李华
网站建设 2026/6/13 3:02:45

用Android手机传感器做个简易计步器:手把手实现SensorEvent数据采集与分析

用Android手机传感器打造高精度计步器:从数据采集到智能算法优化去年夏天,我在一次徒步旅行中发现市面上大多数计步应用要么过于耗电,要么统计不准确。这让我萌生了自己开发一个轻量级计步器的想法。现代智能手机内置的加速度传感器其实蕴藏着…

作者头像 李华
网站建设 2026/6/13 3:02:44

保姆级教程:用Python的sgp4库解析TLE数据,5分钟算出卫星位置

用Python解析TLE数据:5分钟实现卫星位置追踪当你在夜空中看到一颗移动的亮点时,是否好奇过它此刻的精确位置?对于开发者来说,利用公开的TLE数据和Python的sgp4库,可以轻松实现卫星位置的实时计算。本文将带你从零开始&…

作者头像 李华
网站建设 2026/6/13 2:57:58

3分钟免费解锁WeMod专业版:终极完整指南

3分钟免费解锁WeMod专业版:终极完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 厌倦了WeMod免费版的种种限制?每天只有2…

作者头像 李华