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

时间:2010-01-07 04:15:49

标签: url

我最近遇到了一个在select元素上有一些有趣样式的网站。我去调查并发现了这个(改名以保护无辜者):

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

尽管HTTP:被省略,但它仍然有效。离开协议的目的是什么?

4 个答案:

答案 0 :(得分:9)

它将使用您已经使用的协议。适用于同时拥有httpshttp版本的网站。

因此,如果您在https://www.domain.tld/file.js,则脚本将为https://www.domain.tld/file.js

如果您在http://www.domain.tld/,则脚本将为http://www.domain.tld/file.js

答案 1 :(得分:3)

我认为这是协议相对路径的捷径。因此它应该使用与该会话使用的协议相同的协议。例如,如果您使用http抓取该页面,则此URL与http协议相关

答案 2 :(得分:1)

目的是可以相对于包含页面确定方案(即httphttps)。如果您在多个页面中包含可以通过httphttps投放的常用代码段,则此功能非常有用。

答案 3 :(得分:1)

目的是“使用与当前网址相同的协议” - 如果可以http:https:同时访问该网页,则可能(?)非常有用(我很难考虑其他协议,它可能是有用的,甚至这个不是一个明确的用例)。