cross-domain - 推送的资源被下载两次并出现跨域警告

标签 cross-domain http2 preload server-push

我尝试使用 http/2 server-push 在 Laravel 网站中预加载一些资源。

<!-- Preload -->
<link href="/fonts/Logo.woff" as="font" type="font/woff" rel="preload" crossorigin>
<link href="/css/app.css" rel="preload" as="style" type="text/css" crossorigin>
<link href="/js/app.js" rel="preload" type="application/javascript" as="script" crossorigin>
<!-- Use -->
<link href="/css/app.css" rel="stylesheet">
<script type="module" src="/js/app.js"></script>

我正在使用Middleware设置链接标题。

但是,脚本和字体被下载两次(推送和正常请求)

它们都会产生警告

“已找到“https://localhost/fonts/Logo.woff”的预加载,但未使用,因为请求凭据模式不匹配。请考虑查看跨域属性。”

“已找到“https://localhost/js/app.js”的预加载,但未使用,因为请求凭据模式不匹配。请考虑查看跨域属性。”

我尝试从所有三个标签中删除 crossorigin,但这并没有解决问题。还尝试了不同的组合,例如 crossorigin="use-credentials"crossorigin="anonymous"

最佳答案

以防万一有人遇到同样的问题。 链接 HTTP header 必须包含字体/脚本的跨源,但 CSS/图像不包含跨源

关于cross-domain - 推送的资源被下载两次并出现跨域警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58680510/

相关文章:

带有自签名无效证书的 http2

ios - iOS 9 上的 NSURLConnection 不使用 HTTP/2 协议(protocol)

javascript - pace.js: "start"事件未触发?

javascript - 在隐藏特定 DIV 和更新 url 之前预加载循环图像

javascript - 使用 Kohana 和 JavaScript 进行跨源请求

javascript - 要求浏览器探测另一个站点上的数据

jquery - 使用JQuery跨域获取Xml数据

jquery - 如何在隐藏 "display: none;"父级时渲染传单 map

apple-push-notifications - 我必须使用 HTTP/2.0 发送 Apple 推送通知吗?我可以使用 libcurl 吗?

javascript - 如何在 React JS 组件中预加载图像?