HTTP/3 简单概述

875次阅读
没有评论

共计 782 个字符,预计需要花费 2 分钟才能阅读完成。

提醒:本文最后更新于 2024-03-09 11:15,文中所关联的信息可能已发生改变,请知悉!

QUIC

了解 HTTP3 之前,先阐述一个协议 quic,全称为 Quick UDP Internet Connections(快速 UDP 网络链接),位于传输层。
现代互联网的连接都基于 TCP 协议,诸如 HTTP 与邮件等。QUIC 却率先采用了不可靠的 UDP 协议,他在 2013 年由 Google 提出,其旨在于建立快速的 SSL/TLS 连接,减少数据传输及延迟时间,双向控制带宽做到避免网络拥塞。2015 年 6 月,QUIC 草案被提交至互联网工程小组(IETF)

2018 年 10 月,互联网工程任务组 IETF 中 HTTP 及 QUIC 工作小组正式将基于 QUIC 协议的 HTTP (HTTP over QUIC) 重命名为 HTTP/3 以为确立下一代规范做准备。

TLS 握手过程

部分图片及文字来源:https://halfrost.com/https_tls1-2_handshake/

一张直观的图
HTTP/3 简单概述
前五个方块是 TCP 握手过程,不多阐述,从 TLS 握手阶段开始,整个过程经历了如下时间段

[table id=3 /]

对于客户端距离服务器较近距离来说,10 个 RTT 时间并不算长,40ms 的延迟 10 2 也就是 800ms 即可完成整个握手过程,倘若单趟延迟在 200ms 呢?

QUIC

QUIC 的整个握手过程如下
HTTP/3 简单概述
由于 UDP 协议不需要经过 TCP 的握手,直接简化了流程,并大幅提高了 TLS 的握手速度,且提供了多路复用的支持,多个数据在 TCP 连接上传输时,若一个数据包出现问题,TCP 需要等待该包重传后,才能继续传输其它数据包。但在 QUIC 中,因为其基于 UDP 协议,UDP 数据包在出问题需要重传时,并不会对其他数据包传输产生影响。

目前 TCP 与 SSL/TLS(1.0,1.1,1.2) 每次建连需要 TCP 三次握手 + 安全握手,需要 4~5 个 RRT

而 QUIC,是 0RTT。

总结

对于 HTTP/3,Rhyland 会持续追踪,倘若其正式发布,本站也会第一时间进行跟进!

正文完
 
TaurusXin
版权声明:本站原创文章,由 TaurusXin 2020-01-04发表,共计782字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)