【问题标题】:What protocol is loaded when using protocol-relative URLs? [closed]使用协议相对 URL 时加载什么协议? [关闭]
【发布时间】:2012-08-22 08:31:16
【问题描述】:

我刚刚开始测试“protocolless Urls”背后的想法。

我要解决的问题是:在 https 页面上,我需要从 http 加载外部 css 文件。

以“正常”方式执行此操作会导致失败... css 文件被阻止。 (现在只是用 chrome 测试)。

所以我的问题是:“protocol less Urls”会从 http/https/both 加载文件吗?

【问题讨论】:

标签: url protocols


【解决方案1】:

如果您指的是像www.example.com/style.css 这样的网址,那将无法正常工作,因为该协议完全缺失;浏览器会将www.example.com 视为某种目录路径名。

如果您指的是像//www.example.com/style.css 这样的网址,那就是相对于协议的网址;它使用与浏览器已用于请求引用页面的协议相同的协议。例如,如果浏览器请求了一个带有 https://www.example.com 的页面,那么将通过 HTTPS 而不是 HTTP 请求该 URL。

浏览器对这些 URL 的支持通常很好;请参阅以下问题:

【讨论】:

  • 所以它将继承当前协议...所以在我的 https 页面上它会尝试从 https 加载 css?
  • 没错。您的服务器只需要能够做出适当的响应。
  • 嗯.. 那么有什么办法可以解决这个问题吗?第二台服务器没有https
  • 如果您尝试使用http://,为什么第二个服务器会阻塞?听起来好像配置错误...
  • @Krunal:应该可以。
猜你喜欢
  • 2015-04-11
  • 1970-01-01
  • 2015-12-22
  • 2013-03-12
  • 2010-12-07
  • 2017-11-25
  • 2015-02-03
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多