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

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

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

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

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

答案1

浏览器处理 // 之类的内容的方式因浏览器而异。因为标准用法是 http://,所以它在所有浏览器上都可以正常工作。

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

答案2

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

例如,你可以这样写:<script src="//myscript.js" />无论你使用哪种协议,它总是能起作用。

答案3

我意识到这个问题已经很老了,但是接受的答案并没有真正回答这个问题。

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

是的,它是文档所用协议的简写形式。它避免了出现可怕的“此页面包含安全和非安全项目。是否要显示非安全项目?”消息。

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

是的,目前所有主流浏览器都支持它。

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

如果你的文档同时由安全不安全的位置,例如开发站点和生产站点。

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

相关内容