HTTP到HTTPS(样式表,js,css-sprite等)重新加载

Ste*_*eve 5 javascript css ssl http-headers

此问题与混合内容错误无关.即将推出一个网站.当我从导航http://example.comhttps://example.com,我注意到的CSS/JS /等作为我使用根相对路径被重新下载.

使用http嗅探器,我发现浏览器认为https://www.example.com/_css/main.csshttp://www.example.com/_css/main.css不同(不是).因此,相同的确切内容被下载两次,导致站点看起来从http导航到https缓慢(如果用户没有已经缓存两个版本).

反正有没有阻止这个?用户几乎总是会首先点击该站点的非ssl版本,因此是否有一个脚本会等到加载http内容,而不是强制将https版本强制进入用户缓存?或者我应该在任何页面和每个CSS背景图像上使用绝对路径(https://www.example.com/_css/main.css)(只有2个我使用精灵).或者我们只是忍受它?谢谢.

Que*_*tin 4

使用 http 嗅探器,我发现浏览器认为https://www.mysite.com/_css/main.css与http://www.mysite.com/_css/main.css不同(事实并非如此)。

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

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

有办法阻止这一切吗?

并不真地。

用户几乎总是会首先访问网站的非 ssl 版本,那么是否有一个脚本会等到 http 内容加载,而不是强制将 https 版本放入用户缓存中?

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

或者我应该在每个页面和每个 css 背景图像上使用绝对路径(https://www.mysite.com/_css/main.css)(我仅使用 2 个精灵)。

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

还是我们只能忍受它?

是的。