early_hints

该 `early_hints` 指令允许 NGINX 在最终响应之前发送 HTTP 103 Early Hints 响应。 — NGINX HTTP Core

early_hints
httpserverlocation
语法early_hints ...;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+

说明

该 `early_hints` 指令在 NGINX 中为 HTTP/3 设计,可发送初步的 HTTP 103 响应,使服务器在最终响应到达前向客户端提供提示。这对于资源预加载尤其有用,可提示像样式表或脚本这样的资源,客户端可能会在渲染页面前先行获取这些资源。该指令可以在 `http` 块中全局配置,或针对 `server` 或 `location` 上下文进行具体配置,且至少需要一个参数,通常包括指定要预加载资源的 'link' 头。 使用时,`early_hints` 能通过提前告知浏览器所需资源显著加快网页加载。配置该指令后,响应中指定的链接会使浏览器在等待最终响应时就开始加载这些资源,从而减少阻塞渲染的时间。但是,要有效使用此功能,应用也必须设计为能够适当处理这些早期响应,并且应检查浏览器支持情况,因为并非所有浏览器以相同方式处理 early hints。

配置示例

http {
    server {
        location / {
            early_hints 'Link: ; rel=preload';
        }
    }
}

并非所有客户端和浏览器都能正确支持 HTTP 103 响应,这可能导致行为不一致。

如果最终响应具有不同的缓存指令或访问限制,已提示的资源可能不会被获取。