代码之家  ›  专栏  ›  技术社区  ›  mwcz

为什么可以从网页上的绝对路径中省略协议?

url
  •  10
  • mwcz  · 技术社区  · 15 年前

    我最近浏览了一个网站,在一个精选元素上有一些有趣的样式。我去调查了一下,发现了这件事(为了保护无辜者改名了):

    <script type="text/javascript" src="//www.domain.tld/file.js"></script>
    

    尽管如此,它仍然有效 HTTP: 被省略。放弃协议的目的是什么?

    4 回复  |  直到 15 年前
        1
  •  9
  •   Brian McKenna    15 年前

    它将使用您已经使用的协议。对于同时具有这两种功能的站点很有用 https http 版本。

    所以如果你在 https://www.domain.tld/file.js 脚本将 https://www.domain.tld/file.js网站 .

    如果你在 http://www.domain.tld/ 脚本将 http://www.domain.tld/file.js .

        2
  •  3
  •   D.C.    15 年前

    我相信这是通向协议的相对路径的捷径。所以它应该使用与该会话相同的协议。例如,如果你用HTTP抓取了那个页面,那么这个URL是相对于HTTP协议的。

        3
  •  1
  •   Asaph    15 年前

    其目的是计划(即 http https )可以相对于包含页面确定。如果在多个页面中包含一段公共代码,可以通过 HTTP协议 HTTPS .

        4
  •  1
  •   Alex Martelli    15 年前

    目的是“使用与当前URL相同的协议”--大概(?)如果可以同时访问这两个页面 http: https: (我还很难想到其他协议可能对它有用,甚至这个协议也不是一个明确的用例)。