什么是 HTTP 103?

2025-06-10

什么是 HTTP 103?

今天,Google Chrome 103 正式发布,带来了一系列新功能。其中一项值得关注的功能是引入了 HTTP 状态代码 103。本文将通过一个简短的演示,深入探讨 HTTP 103 状态代码。

HTTP 103

来自 Mozilla 开发者网络 Web 文档,HTTP 103 Early Hints 是信息响应状态代码,主要用于与 标头一起使用, 以允许用户代理在服务器仍在准备响应时开始预加载资源Link

以下是RFC 链接,了解更多详细信息。

HTTP 103 可用于通过使用链接配置 HTTP 标头字段来优化页面速度rel=preload

它是如何工作的?

正常情况下,当浏览器发送请求时,服务器会在不到一秒的时间内接收并处理该请求,并发送如下所示的 HTTP 200 OK 响应。

使用 HTTP 103 Early Hints,页面渲染速度还有提升空间。

一旦服务器更新了 HTTP 103 功能,当浏览器发送请求时,如果服务器知道内容需要诸如style.cssscript.js等资源,那么它将使用 HTTP 103 Early Hints 响应提示(响应)浏览器预加载内容,如下所示。

然后,一旦服务器处理了完整的响应,它将向浏览器发送正常的 HTTP 200 OK。

由于浏览器会预先加载内容,因此此过程将有助于提高页面渲染速度。

如上所述,此功能需要更新服务器。对于 Apache HTTP 服务器,请点击此处进行配置。

早期提示仅适用于 HTTP/2 和 HTTP/3。

它仅支持 200、301、304 响应返回代码。

此外,它还适用于具有预连接或预加载关系类型的响应链接头。

演示

为了演示 HTTP 103 早期提示,我在 AWS 上部署了一个带有 Ubuntu 镜像的 EC2 实例。我安装了带有 HTTP/2 和 SSL 的 Apache HTTP Server。

这是我的conf文件内容。

H2Push on
H2EarlyHints on

以下是演示页面的 curl 输出:

正常 HTTP 200 OK
正常 HTTP 200 OK

H2PushResource让我们在文件中进行配置conf并重新加载服务器。

H2Push on
H2EarlyHints on
<Location /index.html>
    H2PushResource /main.css
</Location>

sudo systemctl restart apache2使用命令重新启动 apache 服务器。

这是启用HTTP 103 Early Hint功能后的 curl 输出

HTTP 103 早期提示
HTTP 103 早期提示

如上所示,服务器的第一个响应是 HTTP/2 103,并预加载main.css到浏览器,然后服务器将以 HTTP 200 进行响应。

这是服务器响应时间部分。

服务器响应时间
服务器响应时间

最后的想法

正如您所了解的,HTTP 103 早期提示通过提示浏览器预加载资源来帮助优化页面渲染时间。它还解决了 HTTP/2 服务器推送的主要问题(详见此处)。Cloudflare 也在致力于利用机器学习技术使早期提示更加智能。让我们一起祈祷吧。

鏂囩珷鏉ユ簮锛�https://dev.to/qainsights/what-is-http-103-1l26
PREV
软件工程最后一年的项目想法首先要说的结论:
NEXT
Android Vitals - 现在几点?现在几点? uptimeMillis() 与 nanoTime() 对比总结