Cloudflare盘点2023年HTTP发展重点

HTTP协议发展至今已受到广泛采用,而且仍持续发展,2022年是HTTP/3发布重要的一年,Cloudflare在博客说明目前现况,并盘点接下来2023年的HTTP发展计划。HTTP工作组在新的一年,已经开始着手讨论和开发新的HTTP功能,包括QUERY方法、可恢复上传(Resumable Uploads)和变体等。

2022年是HTTP/3正式发布的一年,Cloudflare提到,HTTP/3提高网络使用效率,使现代应用程序和网站的需求得以满足。他们解释,在HTTP/0.9和HTTP/1.0时代,每一个请求都需要重新使用一个TCP连接,为了缓解这个问题HTTP/1.1加入持久连接功能,但其仍存在队头阻塞(HOL Blocking)的局限。

但是现代网页页面动辄数百万个对象争夺网络资源,HTTP/1.1也已经无法负荷,因此2015年出现了HTTP/2,虽然HTTP/2在HTTP层解决队头阻塞的问题,但是底层TCP仍然存在同样问题,Cloudflare强调,问题根本在于HTTP使用TCP这种有序且可靠的传输协议,要彻底解决这个问题,最佳解决方案便是取代TCP。

HTTP/3使用QUIC来替代TCP的工作,QUIC在2021年发布,HTTP/3可以说是QUIC的HTTP版本,虽然工作组在2021年完成QUIC的同时,也完成了HTTP/3的规范,但是因为考虑与其他文件发布同步,因此HTTP/3直到2022年才正式发布。

HTTP工作组在2023年将持续完善HTTP规范,添加像是QUERY方法,目的是要规范一个安全的请求方法,并且在请求的同时携带请求内容,QUERY就像是Get方法,但主要用途是当请求附带资料太大,无法编码到请求的URI时,开发者便可使用QUERY方法。

可恢复上传也将会是HTTP接下来的重点新功能。由于请求取消和连接中断,HTTP客户端常会遇到资料传输中断,以可恢复文件上传的开源协议TUS为基础,HTTP工作组将让HTTP客户端能够恢复传输,从中断连接之前所交换的部分继续完成工作。

HTTP还将加入变体,这是一种基于请求标头,从缓存选取HTTP回应的方法。开发者只要使用Variants和Variant-Key回应标头字段,就可以主动进行内容协商,对缓存更加友善。同时,HTTP引入结构化标头,希望新的HTTP字段能使用比传统HTTP字段值更具限制性的通用语法。

另外,HTTP社群也针对新功能进行更多讨论,像是提供发布和订阅功能(Pub/Sub),或是通过标准化规范在WebSockets上的作业,Cloudflare提到,这些Media over QUIC的工作,在2023年可预期会有更多进展。

从HTTP工作小组发布的文件,我们可以看出,在2022年,HTTP协议在安全与隐私方面也有诸多进展。以安全性而言,例如,新的摘要字段(Digest Fields)与HTTP消息签名(Message Signatures)的安全规范,现在均处于标准化的最后阶段,还有Cookie规范的修订版,去年也取得很大的进展,将限制其运行方式以提高隐私和安全性,其中包括新的SameSite属性。

以隐私而言,中介(intermediation)是最大亮点,也就是聚焦将代理、网络安全网关的类似组件放入协议,以实现特定目标的能力,而这方面通常侧重于提高隐私。像是MASQUE工作小组致力于为HTTP增加新的信道功能,以便中介将信道流量传递到另一台服务器。

图片来源/截取自Cloudflare