This question already has answers here:
Can I change all my http:// links to just //?
                                
                                    (6个答案)
                                
                        
                                5年前关闭。
            
                    
我不记得何时开始看到没有协议的URL。

<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上找到。

最佳答案

这些称为相对协议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"
  ...

10-04 22:55
查看更多