gpt4 book ai didi

javascript - HTTP 到 HTTPS(样式表、js、css-sprites 等)重新加载

转载 作者:技术小花猫 更新时间:2023-10-29 11:37:43 24 4
gpt4 key购买 nike

本题与混合内容错误无关。即将推出一个网站。当我从 http://example.com 导航时至 https://example.com ,我注意到 css/js/etc 被重新下载,因为我正在使用根相对路径:.

使用 http 嗅探器,我看到浏览器认为 https://www.example.com/_css/main.css不同于http://www.example.com/_css/main.css (它不是)。因此,相同的内容会被下载两次,导致网站从 http 导航到 https 时看起来很慢(如果用户还没有缓存这两个版本)。

有办法阻止吗?用户几乎总是会首先访问网站的非 ssl 版本,那么是否有一个脚本会等到 http 内容加载完毕,而不是强制将 https 版本放入用户缓存?或者我应该只在每个页面和每个 css 背景图像上使用绝对路径 (https://www.example.com/_css/main.css)(只有 2 个我使用 Sprite )。还是我们只是忍受它?谢谢。

最佳答案

Using an http sniffer i see that the browser thinks https://www.mysite.com/_css/main.css is different than http://www.mysite.com/_css/main.css (its not).

这是具有相同内容的不同资源。浏览器无法知道它们将具有相同的内容。

您可以(使用 301)从一个重定向到另一个,这样您就没有非 SSL 版本。

Is there anyway to stop this?

不是真的。

The user will almost always hit up the non-ssl version of the site first so is there a script that will wait until the http content is loaded than maybe force a https version into the users cache?

没有。如果一个 URL 可以为任意其他 URL 预缓存内容,那将是一个可怕的安全问题。

Or should i just use absolute paths (https://www.mysite.com/_css/main.css) on ever page and on every css background image (only 2 i use sprites).

这可行,但会导致混合内容问题。

Or do we just live with it?

是的。

关于javascript - HTTP 到 HTTPS(样式表、js、css-sprites 等)重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com