为什么在实际链接工作之前“//”而不是http或https?

daG*_*vis 5 https http protocol

我只是注意到我可以写//google.com而不是http://google.com它仍然有效。

这是某种简写吗?也许这是我的浏览器(Chrome 14)中内置的东西?

使用双斜线代替httpand是否安全https

小智 16

// 所有主要浏览器都支持。当您开发基于 Web 的应用程序并需要编写适用于 HTTP 和 HTTPS 的代码时,它非常有用。

例如,您可以编写:<script src="//myscript.js" />无论您使用哪种协议,它都将始终有效。

  • 这应该是公认的答案。 (3认同)

Bra*_*don 7

我意识到这个问题很旧,但接受的答案并没有真正回答这个问题。

这是某种简写吗?也许这是我的浏览器(Chrome 14)中内置的东西?

是的,它是提供文件的任何协议的简写。它避免了可怕的“此页面包含安全和非安全项目。您想显示非安全项目吗?” 信息。

使用双斜杠代替 http 和 https 是否安全?

是的,当今所有主要浏览器都支持它。

它通常对您自己的站点无用,但对于包含来自其他站点(需要绝对 URL)的资源非常有帮助,但不必担心 HTTP/HTTPS 混合模式。

如果您的文档是从安全非安全位置(例如开发站点和生产站点)提供的,这也很有帮助。

有关详细信息,请参阅http://www.paulirish.com/2010/the-protocol-relative-url/ (虽然该站点不再推荐此技术,但建议始终使用 HTTPS)


小智 3

浏览器处理 // 之类的内容的方式因浏览器而异。由于标准使用情况是 http:// 并且可以在所有浏览器上正常工作。

话虽这么说,大多数浏览器都会尽可能尝试 HTTP,因为这是浏览器最常使用的用途。这也是最安全的选择,HTTP 流量被浏览器尽可能地沙箱化,并且应该比假设地址是本地的更安全。

  • 我不明白这如何回答这个问题。目前还不清楚“HTTP 流量已沙箱化”的含义。 (6认同)