Chrome 106 将终止对 Server Push 技术的支持

谷歌警告称,定于 106 月 27 日发布的 Chrome 2 中将禁用对服务器推送技术的支持。 这些更改还将影响基于 Chromium 代码库的其他浏览器。 服务器推送技术在 HTTP/3 和 HTTP/XNUMX 标准中定义,允许服务器向客户端发送资源,而无需等待客户端的显式请求。 假设通过这种方式,服务器可以加速页面加载,因为渲染页面所需的 CSS 文件、脚本和图像在客户端请求时已经传输到服务器端。

停止支持的原因是,当有更简单且同样有效的替代方案(例如标签)可用时,实施该技术会变得不必要的复杂性,在此基础上浏览器可以请求资源,而无需等待该资源在页面上被使用。 一方面,与服务器推送相比,预加载会导致不必要的数据包交换(RTT),但另一方面,它避免发送已经在浏览器缓存中的资源。 一般来说,使用服务器推送和预加载时的延迟差异并不显着。

要在服务器端发起预加载,建议使用 HTTP 响应代码 103,它允许您在请求后立即告知客户端某些 HTTP 标头的内容,而无需等待服务器完成所有相关操作请求并开始提供内容。 同样,您可以提供有关与所提供的可能预加载的页面相关的元素的提示(例如,您可以提供指向页面上使用的 CSS 和 JavaScript 的链接)。 收到有关此类资源的信息后,浏览器可以开始下载它们,而无需等待主页完成渲染,从而减少了总体请求处理时间。

除了优化资源加载之外,服务器推送机制还可以用于将数据从服务器传输到客户端,但为了这些目的,W3C 联盟正在开发 WebTransport 协议。 WebTransport 中的通信通道是在 HTTP/3 之上组织的,使用 QUIC 协议作为传输。 WebTransport 提供了诸如将传输组织为多个流、单向流、不考虑数据包发送顺序(乱序)的传送、可靠和不可靠传送模式等高级功能。

据Google统计,Server Push技术应用并不广泛。 尽管服务器推送包含在 HTTP/3 规范中,但实际上许多服务器和客户端软件产品(包括 Chrome 浏览器)本身并没有实现它。 2021 年,大约 1.25% 的运行 HTTP/2 的站点使用服务器推送。 今年这一数字已降至0.7%。

来源: opennet.ru

添加评论