Web开发中http://和//之间有什么区别?

时间:2011-03-03 21:51:28

标签: javascript html css url

  

可能重复:
  Can I change all my links to just //?

我最近在浏览谷歌404页面的标记时遇到了这个问题。在其中,他们使用//在其URL的开头,标记中的锚点,以及在CSS中引用图像/等。

由于这不是我之前遇到的事情,并且考虑到谷歌在有限细节优化方面臭名昭着,我想我会在这里询问是否有人有关于使用//而不是http的更多信息://这不是一件可以轻松搜索到的答案。

我知道//在http或https可能发挥作用的应用程序中很有用,但除此之外,还有其他好处吗?是否所有浏览器都支持?有任何使用限制吗?这是新的/旧的吗?

如果有人有任何信息,我会非常感兴趣。

3 个答案:

答案 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)

//是无协议网址。它将使用httphttps,具体取决于浏览器的连接。

有一个很好的解释性文章,说明你为什么要这样做:http://encosia.com/2011/01/19/cripple-the-google-cdns-caching-with-a-single-character/