HTTP各版本区别

HTTP

超文本传输协议是一个用于传输超媒体文档(例如 HTML)的应用层协议。

  • 队头阻塞:由于HTTP 1.0规定下一个请求必须在前一个请求响应到达之前才能发送,因此如果前一个请求响应一直不到达,那么后面的请求就会被阻塞。
  • 管道化:允许在第一个应答被完全发送之前就发送第二个请求,以降低通信延迟。在HTTP/1.1中,由于请求和响应必须按照顺序进行处理,当一个请求被阻塞时,后续的请求也必须等待。这种情况下,即使使用了管道化技术,在一个TCP连接上发送多个请求,仍然会受到队头阻塞的影响,因为响应必须按照请求的顺序返回。
  • 多路复用:允许同时发送多个请求和响应,减少了延迟,提高了网络吞吐量。
  • QUIC 通过 UDP 运行多个流,并为每个流独立实现数据包丢失检测和重传,因此如果发生错误,只有该数据包中包含数据的流才会被阻止。保证了可靠性

HTTP/2怎么解决队头阻塞

  1. 二进制分帧层:HTTP/2将请求和响应数据分割成更小的二进制帧,每个帧都有自己的帧头,这样可以在一个TCP连接上同时发送多个帧。由于帧是独立的,当某个帧被阻塞时,不会影响其他帧的传输。

  2. 多路复用:HTTP/2允许在一个TCP连接上并行发送多个请求和响应。每个请求和响应都有自己的流(Stream)标识符,通过这个标识符可以区分不同的流。这样,即使某个请求或响应因为网络延迟而被阻塞,其他的请求和响应仍然可以继续进行处理,避免了队头阻塞的问题。

  3. 请求优先级: HTTP/2支持为每个流设置优先级,可以告诉服务器哪些请求是更重要的,服务器可以根据优先级来处理请求。这样可以确保重要的请求能够及时处理,减少队头阻塞对用户体验的影响。

  4. 服务器推送(Server Push):HTTP/2允许服务器在客户端发起请求之前,主动将一些预期需要的资源推送给客户端。这样可以避免客户端请求资源时的额外往返延迟,提高性能,并减少队头阻塞的影响。

HTTPS

超文本传输安全协议,是 HTTP 协议的加密版本。它使用 SSL 或 TLS 协议来加密客户端和服务器之间所有的通信。安全连接允许客户端与服务器安全地交换敏感数据,例如网上银行或者在线商城等涉及金钱的操作。

TLS 提供三种主要服务,有助于确保与之交换的数据的安全性

身份验证:通过认证,通信的每一方都可以验证另一方的身份。

加密:在用户代理和服务器之间传输数据时对数据进行加密,以防止未经授权的各方读取和解读数据。

完整性:TLS 确保数据在加密、传输和解密过程中不会丢失、损坏、篡改或伪造任何信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值