HTTPS以及如何引用文件和图像

时间:2011-11-05 10:18:41

标签: css security http https

如何从安全区域的网页引用我的css文件(位于非安全区域)。我考虑过复制它(将其移入安全区域),但这似乎非常低效。

任何建议都非常感谢。 (p.s.很可能会有一些后续问题哈哈)

1 个答案:

答案 0 :(得分:4)

您始终可以使用相对/根路径来避免此问题:

<link rel="stylesheet" href="/css/screen.css">

如果您必须使用完整的网址,我不确定为什么您不能使用https协议(这是正确的解决方案),但还有一个选项:不要指定一个协议。

<link rel="stylesheet" href="//example.com/css/screen.css">

http://paulirish.com/2010/the-protocol-relative-url/

  

如果浏览器通过HTTPS查看当前页面,那么它将使用HTTPS协议请求该资产,否则它通常会*通过HTTP请求它。这可以防止IE中的“此页面包含安全和非安全项目”错误消息,将所有资产请求保留在同一协议中。

然而:

  

警告:当在<link>或@import上使用样式表时,IE7和IE8会下载文件两次。然而,所有其他用途都很好。

因此,如果您必须指定完整的网址,最佳/正确的方法是:

<link rel="stylesheet" href="https://example.com/css/screen.css">

真的别无选择。 CSS文件本身中图像和资源的相对路径应该适用于任何一种方法,并且不会触发安全性错误。如果您需要CSS文件中的绝对URL,那么您可以使用相同的技巧。