问题标签 [preconnect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
719 浏览

pagespeed - Preconnect html vs header:哪个更快?

可以使用 http 标头完成预连接: 在此处输入图像描述

或通过 html:

在解析响应内容之前使响应可用,使用标头是否有速度优势?

0 投票
4 回答
3267 浏览

google-chrome - 我们应该与 Chrome 进行“dns-prefetch 预连接”的域数量是否有限制?

当我们想要确保一个使用第三方小部件/插件/附加组件/分析等的快速网站时。实现这一点的众多要求之一是为每个单独的域名“dns-prefetch preconnect”(基本上为 DNS 查找等节省一点)

在我们失去任何潜在利益之前,我找不到可以建议我们可以“dns-prefetch preconnect”多少个域名的文档。还记得在过去 Internet Explorer 如何限制可以并行下载的图像数量,只是想知道 Chrome 是否可以有一些理由来限制“dns-prefetch preconnect”请求?

例如:多少算太多?

非常感谢任何链接反馈/建议!

0 投票
1 回答
4648 浏览

html - 为什么预连接资源提示不起作用?

我在 crenshaw.dev/demo/hints.html 创建了一个测试页面,其中包含请求 dns-prefetch 并预连接到 mac9416.com 的浏览器提示

根据 WebPageTest,直到 index.html 完全加载后才会连接到 mac9416.com。

WebPageTest 瀑布图显示 mac9416.com 仅在下载并解析所有标记后才连接,而不是在解析 head 元素后立即连接

为什么 Chrome 在解析后没有立即连接到 mac9416.com <head>

更新:

根据接受的答案和评论,我写了一个修复的解释。

与 一起使用时,该crossorigin属性rel="preconnect"不描述目标来源的位置,而是描述将从该来源下载的资产类型。如果资产使用 CORS,crossorigin则需要。如果不使用 CORS,crossorigin则应省略。如果两种类型的资产都存在,则需要两个资源提示。

0 投票
1 回答
36 浏览

c# - .NET 将 crossorigin/> 更改为 crossorigin=""/>

我正在尝试预连接到我的 .aspx 页面上的资源。

我的代码:

.NET 变成了哪个

我已经升级到 VS2019,我很确定在过去的项目中我从来没有遇到过这个问题,所以它可能是一个 VS 问题。有谁知道如何绕过此更改?

谢谢

0 投票
1 回答
2654 浏览

reactjs - 预取有效,但引发“未捕获(承诺)错误”

我正在尝试按照prefetchChrome Lighthouse 审计报告的建议将指令与我的字体一起使用。但是,这样做会引发以下错误:

未捕获(承诺中)错误:超过 3000 毫秒超时

我的堆栈涉及用于 SSR 的 NextJS。我的index.jsx看起来像这样:

Fonts.js看起来像这样

如您所见,我仅通过componentDidMount()在浏览器上运行Fonts()方法。怎么了?

0 投票
0 回答
42 浏览

caching - DNS 预取和预连接:仅适用于非缓存资源?

这是一个关于dns-prefetchand的问题preconnect,以及可能的优化:

  • 如果资源被缓存,是否dns-prefetch还在preconnect做他们的工作?
  • 如果没有,是否可以优化此行为,以便dns-prefetchpreconnect针对非缓存资源执行其工作?
0 投票
1 回答
278 浏览

javascript - 如何看到 dns-prefetch 的优势?

我正在为我的 web 应用程序做一些性能测试,实际上我不知道如何理解链接中 dns-prefetch 的网页测试结果。

对于我添加的链接,我在link rel="dns-prefetch"每个链接的第一个请求的开头看到了绿色部分。但我的期望是在图表的开头看到 dns-handshake(箭头试图指向附图中的位置)我的意思是,我相信浏览器实际上在一开始就强制请求使用 dns-prefetch 的链接甚至还使用了链接。

这是预期的行为吗?因为我一直在没有预取 dns 的情况下进行测试,并且图表非常相似。

网页测试截图结果

0 投票
0 回答
130 浏览

google-chrome - 即使在对该资源使用“预连接”资源提示后,Chrome 的网络日志也会显示资源请求的“is_preconnect=false”

我在我的网站中使用“预连接”资源提示作为字体的 api

但是,当我在 chrome devtools 中检查瀑布分析https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2时,获取时的 DNS 查找和 SSL 连接。

当我检查 netlog-viewer.appspot.com 中的网络日志时,HTTP_STREAM_JOB_CONTROLLER结果如下:

为什么显示为is_preconnect假?

0 投票
0 回答
165 浏览

html - 我可以使用链接标签预连接到 WebSocket 目标吗?

我有一个使用 WebSockets 连接到服务器并传输数据的网站。

css-tricks.com 上,他们展示了以下使用 HTML 链接标记预连接的示例:
<link rel="preconnect" href="https://css-tricks.com">

我可以使用它连接到 WebSockets,或者至少加快它的速度吗?像这样的
<link rel="preconnect" href="东西://css-tricks.com">

当我尝试 WS 连接时,有没有办法可以判断它是否正常工作?甚至使用 HTTP 连接?

0 投票
0 回答
492 浏览

reactjs - PageSpeed Insights 告诉我预连接第三方来源,然后告诉我预连接后浏览器不使用它们

我运行了 PageSpeed Insights,它告诉我这个

我正在使用 Gatsby,所以我使用插件 gatsby-plugin-preconnect 连接它们

然后我再次运行 PageSpeed Insights 它告诉我


在预连接的情况下,我的性能得分要差得多