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

Performance 为什么我的manifest.json加载需要新的ssl握手?,performance,manifest,Performance,Manifest,当我在GTMetrix上测试我的站点时,加载manifest.json需要新的ssl握手。该站点已在HTTPS中,清单也在HTTPS中。这很奇怪。我在Chrome上试过,但结果是一样的。测试其他站点,如smashingmagazine,manifest.json正常加载。如何解决这个问题 这是截图 将crossorigin=“use credentials”属性添加到链接元素中。例如: <link rel="manifest" href="https://your-site.com/man

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

这是截图


crossorigin=“use credentials”
属性添加到链接元素中。例如:

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

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

原因:这与MDN网站()中提到的以下跨来源要求有关:

注意:如果清单需要凭据才能获取,则返回交叉源 属性必须设置为“使用凭据”,即使清单文件 与当前页面位于同一原点


crossorigin=“use credentials”
属性添加到链接元素中。例如:

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

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

原因:这与MDN网站()中提到的以下跨来源要求有关:

注意:如果清单需要凭据才能获取,则返回交叉源 属性必须设置为“使用凭据”,即使清单文件 与当前页面位于同一原点


嗨,somuch72,我用解决方案更新了我的答案。事实证明这不是一个Chrome bug。你自己试过吗?我模模糊糊地记得当时尝试过这个,我不记得它是否起作用(我认为它不起作用),但我认为
使用凭据
意味着你必须先登录才能查看页面,如果你没有登录,那么你就没有这个manifest.json。我的网站的访问者无需登录即可查看内容,因此我没有进一步检查以使用此属性。我完全删除了manifest.json,我的网站的主题是白色的,所以我不需要manifest.json样式,我可以直接使用favicon,尽管它不是最好的。是的,我自己也尝试过,它对我的网站有效。我已经检查过了,这一次的改变是否奏效。我的网站根本不实现用户登录。您可以将GTMetrix用于我的网站,自己验证()。作为补充说明,我注意到,在smashingmagazine.com中,他们没有使用crossorigin=“use credentials”,而是通过HTTP 1.1提供manifest.json,网站的其余部分通过HTTP 2.0提供。这可能是相关的,但我无法检查。我只是检查了一下,祝贺你,你解决了这个问题!我当时确实检查了Smashing,但我没有意识到他们使用的是不同的HTTP协议!无论如何,如果您想加快加载速度,可以尝试使用
服务器推送
,它的改进是惊人的。谢谢您的建议。我很高兴它被解决了。嗨,somuch72,我用这个解决方案更新了我的答案。事实证明这不是一个Chrome bug。你自己试过吗?我模模糊糊地记得当时尝试过这个,我不记得它是否起作用(我认为它不起作用),但我认为
使用凭据
意味着你必须先登录才能查看页面,如果你没有登录,那么你就没有这个manifest.json。我的网站的访问者无需登录即可查看内容,因此我没有进一步检查以使用此属性。我完全删除了manifest.json,我的网站的主题是白色的,所以我不需要manifest.json样式,我可以直接使用favicon,尽管它不是最好的。是的,我自己也尝试过,它对我的网站有效。我已经检查过了,这一次的改变是否奏效。我的网站根本不实现用户登录。您可以将GTMetrix用于我的网站,自己验证()。作为补充说明,我注意到,在smashingmagazine.com中,他们没有使用crossorigin=“use credentials”,而是通过HTTP 1.1提供manifest.json,网站的其余部分通过HTTP 2.0提供。这可能是相关的,但我无法检查。我只是检查了一下,祝贺你,你解决了这个问题!我当时确实检查了Smashing,但我没有意识到他们使用的是不同的HTTP协议!无论如何,如果您想加快加载速度,可以尝试使用
服务器推送
,它的改进是惊人的。谢谢您的建议。我很高兴它被解决了。