我最近在浏览谷歌404页面的标记时遇到了这个问题。在其中,他们使用//在其URL的开头,标记中的锚点,以及在CSS中引用图像/等。
由于这不是我之前遇到的事情,并且考虑到谷歌在有限细节优化方面臭名昭着,我想我会在这里询问是否有人有关于使用//而不是http的更多信息://这不是一件可以轻松搜索到的答案。
我知道//在http或https可能发挥作用的应用程序中很有用,但除此之外,还有其他好处吗?是否所有浏览器都支持?有任何使用限制吗?这是新的/旧的吗?
如果有人有任何信息,我会非常感兴趣。
答案 0 :(得分:12)
//
是“无论当前的协议是什么”。
在通过http投放的网页上,它是http://
,而在https上的网页是https://
。
答案 1 :(得分:6)
我唯一能找到的缺点是:
http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/
Internet Explorer 7& 8将下载 如果http(s)两次样式表 协议缺失。
...
协议相对URL没有 包含协议。例如,
http://stevesouders.com/images/book-84x110.jpg
成为
//stevesouders.com/images/book-84x110.jpg浏览器取代了协议 资源的页面本身 缺少协议。
..
但是,如果您在互联网上尝试此操作 资源管理器7和8你会看到 使用协议指定的样式表 相对URL下载两次。 很难相信,但却是真的。
我刚用Wireshark和IE8测试过,这是真的。
因此,如果您关心拥有高性能网站,请避免在CSS中使用//
。
答案 2 :(得分:3)
//
是无协议网址。它将使用http
或https
,具体取决于浏览器的连接。
有一个很好的解释性文章,说明你为什么要这样做:http://encosia.com/2011/01/19/cripple-the-google-cdns-caching-with-a-single-character/