我配置了 nginx 1.18 来推送带有预加载的图像。
This i the nginx configuration
location / {
proxy_pass http://miosito;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
http2_push_preload on;
}
}
这些是 curl 从后端获取的 http 标头
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Cache-Control: no-cache,no-store
Expires: Thu, 17 Apr 1971 01:00:00 GMT
Link: </img/fotoHome_800_blur.webp>; as="image"; rel="preload"
Content-Length: 4440
Date: Thu, 3 Nov 2022 09:57:57 GMT
这是 Chrome 开发者工具上的结果 Chrome 开发者工具结果
该页面已上线这里。
看来 http2 推送无法正常工作。有什么建议吗?
答案1
当前版本的 Google Chrome 不再支持 HTTP/2 推送。这是因为它的好处值得怀疑,而且可能有益的实施非常困难。
https://developer.chrome.com/blog/removing-push/有关于该主题的更多详细信息。