HTTP / 2服务器推送不适用于JavaScript文件

问题描述 投票:0回答:1

我正在尝试使用以下代码通过CloudFlare Workers实现HTTP / 2服务器推送:

let mainScript='main-es2015.e66dc0bc532401d980dc.js';
response.headers.append("Link", "</"+mainScript+">; rel=preload; as=script;");

我也尝试过添加跨域

response.headers.append("Link", "</"+mainScript+">; rel=preload; as=script; crossorigin;");

但是它不起作用。

[在第一种情况下,开发人员控制台的确显示正在从CloudFlare服务器推送文件以及html响应。但浏览器不使用该文件,而是重复请求再次下载该文件。

在第二种情况下,开发人员控制台显示浏览器确实接受了预加载的标头,但是文件不是从Cloudflare服务器推送的,浏览器必须单独请求提取javascript文件,尽管它在收到html文件后立即发出了请求。

我想要的是cloudflare服务器推送文件,浏览器使用该推送文件,而无需重复请求吗?

令人惊讶的是,下面的代码非常适合CSS文件:

  response.headers.append("Link", "</styles.1d228f78d240e617dd5e.css>; rel=preload; as=style;");

但不适用于任何其他内容,例如javascript字体文件,图像等。>

谁能指导我在这里想念的东西吗?

我正在尝试使用以下代码通过CloudFlare Workers实现HTTP / 2服务器推送:let mainScript ='main-es2015.e66dc0bc532401d980dc.js'; response.headers.append(“ Link”,“” + mainScript +“>; ...

javascript cloudflare http2 server-push cloudflare-workers
1个回答
0
投票

正如离线讨论的那样,您遇到了两个问题:

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.