DAY4:HTTP1.0和HTTP1.1的区别 | HTTP2.0与HTTP1.1的区别 | HTTP3.0有了解过吗

目录

HTTP1.0和HTTP1.1的区别

HTTP2.0 与 HTTP1.1的区别

HTTP3.0的了解


HTTP1.0和HTTP1.1的区别

1.持久连接:

HTTP/1.1 默认支持持久连接,允许在一个TCP连接上发送多个HTTP请求和响应,减少了连接建立和关闭的开销。而HTTP/1.0 默认为短连接,每次请求都需要建立一个TCP连接,并通过Connection:keep-alive头来实现持久连接。

2.管道化:

HTTP/1.1 支持管道化(不是默认开启),允许客户端在第一个请求的响应到达之前发送多个请求,这可以减少等待时间,提高效率。HTTP/1.0 支持管道化。

3.缓存控制:

HTTP/1.0 主要使用 If - Modified - Since/Expires 来作为缓存判断的标准,而HTTP/1.1 则引入了更多的缓存控制策略例如Etag / If - Nonde - Match等更多可提供选择的缓存头来控制缓存策略。

4.错误处理:

HTTP/1.1 增加了一些新的HTTP状态码,如100 Continue,用于增强信号处理和请求的中间响应。

5.Host头:

HTTP/1.1 引入了Host头,允许客户端指定请求的主机名,这使得在同一台服务器上托管多个域名成为可能。HTTP/1.0 没有这个头字段。

6.带宽优化:

HTTP/1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,而HTTP1.1 则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content)


HTTP2.0 与 HTTP1.1的区别

1.二进制协议:

HTTP/2.0 采用二进制格式传输数据,而非HTTP/1.1 的文本格式,使得解析更高效,减少了解析时间。

2.多路复用:

HTTP/2.0 支持多路复用,允许在单个TCP连接上并行交错发送多个请求和响应,解决了HTTP/1.1中的队头阻塞问题。

3.头部压缩:

HTTP/2.0 引入了 HPACK 压缩算法,对请求和响应的头部信息进行压缩,减少了冗余头部信息的传输,提高了传输效率。

4.服务器推送:

HTTP/2.0 允许服务器主动推送资源给客户端,而不需要客户端明确请求,这可以减少页面加载时间。

5.优先级和依赖:

HTTP/2.0 允许客户端为请求设置优先级,并表达请求之间的依赖关系,资源加载更加有序。


HTTP3.0的了解

HTTP/3.0 是HTTP协议的最新版本,它基于QUIC协议,具有以下特点:

1.无队头阻塞:

QUIC 使用UDP协议来传输数据。一个连接上的多个stream之间没有依赖,如果一个stream丢一个UDP包,不会影响后面的stream,不存在队头阻塞问题。

2.零RTT连接建立:

QUIC 允许在首次连接时进行零往返时间连接建立,从而减少了连接延迟,加快了页面加载速度。

3.连接迁移:

QUIC 允许在网络切换(如从 Wi - Fi到移动网络)时,将连接迁移到新的IP地址,从而减少连接的中断时间。

4.向前纠错机制:

每个数据包除了它本身的内容之外,还包括了部分其他数据包的数据,因此少量的丢包可以通过其他包的冗余数据直接组装而无需重传。向前纠错牺牲了每个数据包可以发送数据的上限,但是减少了因为丢包导致的数据重传。

5.安全性:

HTTP/3.0 默认使用TLS加密,确保了数据传输的安全性。

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值