为什么我的 manifest.json 加载需要新的 ssl 握手?

Why my manifest.json loading require new ssl handshake?

当我在 GTMetrix 上测试我的网站时,加载 manifest.json 需要新的 ssl 握手。该网站已经在 HTTPS 中,清单也在 HTTPS 中。这很奇怪。我试过 Chrome 但结果是一样的。测试其他站点,如 smashingmagazine,manifest.json 加载正常。如何解决这个问题?

这是屏幕截图

crossorigin = "use-credentials" 属性添加到 link 元素。例如:

<link rel="manifest" href="https://your-site.com/manifest.json" crossorigin = "use-credentials">

虽然预计不会对网站的感知速度产生影响,但将 SSL 握手次数减少到一半总是好的。

原因:它与 MDN 网站 (https://developer.mozilla.org/en-US/docs/Web/Manifest) 中注明的以下跨域要求有关:

Note: If the manifest requires credentials to fetch - the crossorigin attribute must be set to "use-credentials", even if the manifest file is in the same origin as the current page.