【问题标题】:What is the difference between http:// and // in web development? [duplicate]Web 开发中的 http:// 和 // 有什么区别? [复制]
【发布时间】:2011-07-08 09:44:46
【问题描述】:

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

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

由于这不是我以前遇到过的事情,而且 Google 在有限细节优化方面臭名昭著,我想我会在这里问一下,看看是否有人有更多关于使用 // 而不是 http 的信息:// 这不是很容易通过谷歌搜索找到答案的东西。

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

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

【问题讨论】:

  • "I'm aware that // is useful in applications where either http or https might come into play, but apart from that, are there other benefits?" - 我想每个人都读过那部分?
  • 嗯,主要原因是避免混合内容警告,如果您通过 https 加载页面但通过普通 http 加载其他资源,浏览器会产生这种警告。

标签: javascript html css url


【解决方案1】:

// 是“无论当前协议是什么”。

在通过 http 提供的页面上,它是 http://,通过 https 是 https://

【讨论】:

  • 我今天学到了一些新东西。
  • 和我一样。我只使用过/,并且想一想,知道这会让过去的生活变得如此简单。也许吧。
  • 如果我们真的想指向//,例如http://www.example.com//,该怎么办?
  • 感谢您的回答大卫,这就是我的假设。那么在哪里可以//可靠地使用呢?在锚?在 CSS src 声明中?在链接标签中?它真的可以与任何绝对 URL 使用互换吗?浏览器兼容性如何?
  • 最好不要使用 CSS。看我的回答。另请参阅 herehere
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我能找到的唯一缺点是:

    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

    浏览器替代协议 资源的页面本身 缺少协议。

    ..

    但是,如果您在 Internet 上尝试此操作 Explorer 7 和 8 你会看到 使用协议指定的样式表 相对 URL 被下载了两次。 难以置信,但却是真的。

    我刚刚用 Wireshark 和 IE8 测试过,确实如此。

    因此,如果您希望拥有一个高性能的网站,请避免将 // 与 CSS 结合使用。

    【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2012-03-23
    • 2015-11-23
    相关资源
    最近更新 更多