HTTP/3 为什么这么快?( 三 )


颠覆局面的 0-RTT此外 , HTTP/3 也支持 0-RTT QUIC 连接 , 减少了建立安全 TLS 连接的数据往返次数 。

QUIC 中的 0-RTT 功能能让客户端在三次握手完成之前发送应用数据 。这个功能通过重用先前连接的参数实现 。0-RTT 依赖于客户端记住的重要参数 , 并向服务器提供 TLS 会话票证(session ticket)以恢复相同的信息 。
然而 , 你不应该盲目地启用 0-RTT 。基于你的威胁模型 , 它可能存在一些安全问题 。
0-RTT 数据的安全属性弱于其他类型的 TLS 数据 。具体来说:
数据不是前向保密(forward secret)的;数据仅仅只被预共享密钥(pre-shared key , PSK)衍生的密钥加密 。不能保证连接之间不重放(译者注:详情见重放攻击) 。
我现在能用 HTTP/3 了吗?或许可以喔!虽然协议现在仍处于互联网草案(Internet-Draft)状态 , 但市面上已有许多不同的实践方案了 。
作为这次的基准测试 , 我特别选择了 Caddy 。我只需要修改 Caddyfile 中的一个简单的配置就能启用 HTTP/3 。
Nginx 对 HTTP/3 也有实验性的支持 , 且正在朝向将发布的 HTTP/3(它就在不久的将来)迈进 。
像是谷歌和 Facebook 这些科技巨擘已经通过 HTTP/3 提供服务了 。在现代浏览器中 , google.com 已完全使用 HTTP/3 。
对于那些“困在”微软生态系统中的用户 , 据说 windows Server 2022 将会支持 HTTP/3 , 但你需要执行一些“深奥”的步骤来启用它 。
总结HTTP/3 能在用户体验方面带来了很大的改善 。在一般情况下 , 站点需要的资源越多 , HTTP/3 和 QUIC 的性能提升就越大 。随着标准离定稿越来越近 , 也许你是时候该考虑为你的网站启用 HTTP/3 了 。

作者:披着狼皮的羊_
链接:
https://juejin.cn/post/7055178022445383694
来源:稀土掘金




推荐阅读