美文网首页
http 各版本区别

http 各版本区别

作者: good__day | 来源:发表于2020-06-10 22:03 被阅读0次

    https://zhuanlan.zhihu.com/p/43787334

    https://juejin.im/entry/5981c5df518825359a2b9476

    https://mp.weixin.qq.com/s/B7jnJUkAFIxVmQpv1cOaYg

    1、HTTP 历史

     主要经理过  http0.9、 http1.0、http1.1、http2.0  这几个历史的版本,可根据需要补充下以往版本的解决的问题和存在的问题

    2、QUIC 协议概览

    QUIC http3.0的前身,QUIC 基于 UDP 协议,并整合了TCP、TLS和HTTP/2的优点。

    3、QUIC的优点

    3.1  0RTT建立连接:正式建立连接是还是需要 1RTT 的,后面的传输都是直接发送的。

    3.2  连接迁移:TCP 连接基于四元组(源 IP、源端口、目的 IP、目的端口),切换网络时至少会有一个因素发生变化,导致连接发生变化。而QUIC 基 于 Connection ID,即使 IP 或者端口发生变化,只要 Connection ID 没有变化,那么连接依然可以维持。

    3.2 解决队头阻塞:HTTP/1.1 和 HTTP/2 都存在队头阻塞问题,而QUIC基于 packet 加密、传输、解密,不需要按处理顺序数据。

    3.4 拥塞控制算法优化:TCP 的拥塞控制包含慢启动、拥塞避免、快速重传、快速恢复。QUIC 重新实现了 TCP 协议的 Cubic 算法进行拥塞控制,并在此基础上做了改进。

    3.5 流量控制:TCP 会对每个 TCP 连接进行流量控制,流量控制的意思是让发送方不要发送太快,要让接收方来得及接收,不然会导致数据溢出而丢失,TCP 的流量控制主要通过滑动窗口来实现的。可以看出,拥塞控制主要是控制发送方的发送策略,但没有考虑到接收方的接收能力,QUIC流量控制是对这部分能力的补齐。

    4、总结

    QUIC 丢掉了 TCP、TLS 的包袱,基于 UDP,并对 TCP、TLS、HTTP/2 的经验加以借鉴、改进,实现了一个安全高效可靠的 HTTP 通信协议。凭借着 0 RTT 建立连接、平滑的连接迁移、基本消除了队头阻塞、改进的拥塞控制和流量控制等优秀的特性,QUIC 在绝大多数场景下获得了比 HTTP/2 更好的效果。

    相关文章

      网友评论

          本文标题:http 各版本区别

          本文链接:https://www.haomeiwen.com/subject/gpoqyqtx.html