没有协议的URL写的规则是什么?

时间:2014-12-30 20:56:45

标签: javascript css html5

我不记得何时开始看到没有协议的网址。

<script src="//jquery.com/jquery.js"></script>

......但我立刻明白了。当我们不知道它将会是什么时,不必列出协议是很好的。不幸的是,我不知道这里的规则是什么。

这也可以吗?

<link href="//stylesheet.com/stylesheet.css" />

这个怎么样?

/* stylesheet.css */
@import url(//fonts.googleapis.com/css?family=Questrial);

我不只是在这里寻找答案,而是在哪里阅读权威指南。我甚至都不知道这种技术的用途。

我不知道浏览器支持是什么,或者在浏览器不支持的情况下会发生什么。

感谢您的帮助!

更新

我正在寻找的很多答案都可以在this question找到。

1 个答案:

答案 0 :(得分:1)

这些称为协议相对URI。

分辨率规则在RFC 3986中描述。

  

4.2。相对参考

     

相对引用利用了分层语法     (1.2.3节)表示相对于名称空间的URI引用     另一个分层URI。

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

第5.4节有例子。

  

5.4。参考分辨率示例

     

在具有明确定义的基URI

的表示中
  http://a/b/c/d;p?q
     

将相对引用转换为其目标URI,如下所示。

  ...
  "//g"           =  "http://g"
  ...