day04|计算机网络重难点之HTTP/1.0和HTTP/1.1的区别、HTTP/2.0与HTTP/1.1的区别、介绍HTTP/3.0

day04|计算机网络重难点之HTTP/1.0和HTTP/1.1的区别、HTTP/2.0与HTTP/1.1的区别、介绍HTTP/3.0

8.HTTP/1.0和HTTP/1.1的区别

  • 第一个是 持久连接:HTTP/1.1 默认支持持久连接,允许在一个TCP连接上发送多个 HTTP请求和响应,从而减少了因连接的建立和关闭所产生的开销;而 HTTP/1.0 默认 短连接,每次请求都需要建立一个TCP连接。它也可以通过在头部中包含 Connection:keep-alive 值来实现持久连接
  • 第二个是 管道化:HTTP/1.1 支持管道化,但并不是默认开启的。它可以让客户端 在第一个请求到达之前 就可以发送多个请求,从而减少等待时间,提高效率。而 HTTP/1.0 不支持管道化
  • 第三个是 缓存控制:HTTP/1.0 主要使用 If-Modified-Since 或者Expires 字段 来作为缓存判断的标准,而 HTTP/1.1 则引入了更多的缓存控制策略,比如 ETag 和If-None-Matech 等更多可选择的缓存头 来实现缓存控制
  • 第四个是 错误处理:HTTP/1.1 增加了一些新的HTTP状态码,比如 100 Continue,用于 增强错误处理和请求的 中间响应
  • 第五个是 Host 头:HTTP/1.1 新引入了 Host头,可以让客户端指定请求的目标主机名,从而可能让同一台服务器 托管 多个域名
  • 第六个是 带宽优化:HTTP/1.0 会存在带宽浪费的现象,当客户端只是请求 资源的某一部分 时,服务器却将 整个资源 都发送过来。而且不支持 断点续传 功能;而 HTTP/1.1 则在请求头部中引入了 range 头域,它允许 只请求资源的某个部分,返回码是 206

9.HTTP/2.0与HTTP/1.1的区别?

  • 第一个是 二进制协议:HTTP/1.1 使用文本格式 传输数据,而 HTTP/2.0 采用二进制格式,从而让解析更高效,减少解析时间
  • 第二个是 多路复用:HTTP/2.0 支持多路复用,也就是 在单个TCP多接上 并行 发送 多个请求和响应, 从而解决了 HTTP/1.1 中的 队头阻塞 的问题
  • 第三个是 头部压缩:HTTP/2.0 引入了 HPACK 压缩算法,对请求和响应的头部信息 进行压缩,减少了头部冗余信息的传播,提高了传输效率
  • 第四个是 服务器推送:HTTP/2.0 允许 服务器 主动推送资源给 客户端,而且并不需要 客户端 给出明确的请求,从而可以减少 页面加载 的时间
  • 第五个是 优先级和依赖关系:HTTP/2.0 允许 客户端 为请求设置优先级 和 请求之间的 依赖关系,让 资源加载 更有序

10.HTTP/3.0有了解过吗?

HTTP3.0 是 HTTP 协议的最新版本,它基于 QUIC 协议,使用 UDP 来传输数据,具有以下特点:

  • 第一个是 彻底解决头部阻塞问题:HTTP/2.0,尽管从逻辑上不同的流之间相互独立,不会相互影响,但在实际传输时数据还是要一帧一帧的发送和接收,一旦某一个流的数据有丢包,则同样会阻塞在它之后传输的流数据传输。而基于UDP的QUIC协议则可以更为彻底地解决这样的问题,让不同的流之间真正的实现相互独立传输,互不依赖。
  • 第二个是 连接建立时 零耗时:QUIC 在首次连接建立时,消耗的往返时延为0,从而减少连接延迟,加快页面加载速度
  • 第三个是 连接迁移:QUIC 允许在 IP地址发生变化时 保持连接状态,从而在网络切换时(如从 Wi-Fi 到 移动网络),减少 连接的中断时间,提高用户体验
  • 第四个是 向前纠错机制:每个数据包 除了它本身的内容之外,还包括了一部分 其他数据包的数据。所以当出现少量丢包时,可以通过其他包的 冗余数据进行组装 来替代 重传。虽然这样牺牲了每个数据包发送数据的上限,但是 减少了因 丢包导致的 数据重传
  • 第五个是 安全性:HTTP3.0默认使用 TLS 加密,确保了 数据传输 的 安全性
相关推荐
隐擎fox7 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
游戏开发爱好者87 小时前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
Jeremy_WW7 小时前
QSFP/QSFP-DD/OSFP 通用管理接口规范(CMIS)解读:13 Page 9Fh
网络·网络协议·信息与通信·光模块·cmis
疯狂打码的少年10 小时前
【计算机网络】TCP/IP协议族(四层体系结构,与OSI对比)
网络·笔记·tcp/ip·计算机网络
布莱克60510 小时前
TCP 三次握手与四次挥手详解
服务器·网络·tcp/ip·计算机网络·网络编程
企业通信技术笔记14 小时前
企业IM内外网隔离部署:DNS、证书、WebSocket与跨网接口设计
websocket·网络协议·架构·php·信息与通信
流烟默16 小时前
HTTP 连接管理技术梳理:JDK KeepAliveCache 机制与池化选型
java·网络协议·http
Java小白笔记16 小时前
FlClash TUN 栈模式选择与验证指南
网络·网络协议
清水白石00817 小时前
ThreadPoolExecutor 线程越多越快?从 30ms HTTP 调用讲透并发数、连接池与背压
网络·网络协议·http
IT小白杨17 小时前
eBay多账号如何应对关联判定:主体、收款、IP、环境四层配置清单一次讲清
java·网络·网络协议·tcp/ip·自动化·指纹浏览器