【问题标题】:Absolute URLs omitting the protocol (scheme) in order to preserve the one of the current page省略协议(方案)以保留当前页面之一的绝对 URL
【发布时间】:2026-02-09 19:00:01
【问题描述】:

我看到了//somepage.com/resource url 格式。例如:

<img src="//remotesite.com/image1.jpg" />

这里的要点是,如果当前页面(定义img 标签的页面)使用http,那么对远程站点的请求是通过http 发出的。如果是 https - 它是 https。这消除了未完全加密页面的浏览器警告。

我的问题是 - 这种 URL 格式是否可以安全地用于所有浏览器。它是一个标准吗?

【问题讨论】:

标签: html http url web-applications protocol-relative


【解决方案1】:

这种 URL 格式对所有人都安全吗 浏览器。

我不能肯定地说,但你应该可以在不同的浏览器中测试它。

这是一个标准吗?

从技术上讲,根据RFC 3986,它被称为“网络路径引用”。这是它的方案:

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

但有一个问题,当在&lt;link&gt;@import 上使用时,IE7 和 IE8 会下载文件。

这是 Paul Irish 写的关于这个主题的帖子:

【讨论】:

  • 请注意,Paul Irish 更新了他的帖子,表明现在应该在可行的情况下始终通过 https 提供资源。请参阅上面@Sarfraz 链接的帖子。
  • 谷歌分析sn-p代码使用这个方案,所以我敢打赌它是跨浏览器的,虽然这个工具被许多网站使用,否则他们只会提供https版本
【解决方案2】:

是的,我相信是的。 Paul Irish 创造了 Protocol Relative URL 这个词。

我还要指出它是 HTML5Boilerplate 项目的一部分,该项目宣传跨浏览器兼容性。

注意:在 IE6 中使用谷歌分析有一个边缘案例,Paul 的文章中提到了这一点。所以它并不完美。

【讨论】:

  • 这不再适用,请参阅*.com/a/37609402/2237601here,他们现在使用https://。另请参阅 here 为什么省略协议方案可能不是一个好主意。
【解决方案3】:

应该是安全的。

被指定为在 Google 的 HTML/CSS 样式指南中使用的格式:编辑:最新网址:https://google.github.io/styleguide/htmlcssguide.xml#Protocol

【讨论】: