URI以两个斜杠开头......它们的表现如何?

URI以两个斜杠开头......它们的表现如何?

最近我看到像这样工作的代码块:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

根据RFC 2396(URI语法)和RFC 2616(HTTP 1.1),这些以两个斜杠开头的URI是有效的,但不幸的是,RFC并没有真正解释它们。

任何人都可以指向一个解释浏览器将如何/应该/如何处理这些URI的资源?


慕莱坞森
浏览 531回答 3
3回答

喵喵时光机

您正在寻找的资源是RFC 3986。见4.2节和5.4节。引用后者:参考分辨率示例在具有明确定义的基URI的表示中:&nbsp;&nbsp;&nbsp;&nbsp;http://a/b/c/d;p?q相对引用转换为其目标URI,如下所示:&nbsp;&nbsp;"g:h"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"g:h" &nbsp;&nbsp;"g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g" &nbsp;&nbsp;"./g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g" &nbsp;&nbsp;"g/"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g/" &nbsp;&nbsp;"/g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/g" &nbsp;&nbsp;"//g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://g" &nbsp;&nbsp;"?y"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/d;p?y" &nbsp;&nbsp;"g?y"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g?y" &nbsp;&nbsp;"#s"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/d;p?q#s" &nbsp;&nbsp;"g#s"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g#s" &nbsp;&nbsp;"g?y#s"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g?y#s" &nbsp;&nbsp;";x"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/;x" &nbsp;&nbsp;"g;x"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g;x" &nbsp;&nbsp;"g;x?y#s"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/g;x?y#s" &nbsp;&nbsp;""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/d;p?q" &nbsp;&nbsp;"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/" &nbsp;&nbsp;"./"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/c/" &nbsp;&nbsp;".."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/" &nbsp;&nbsp;"../"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/" &nbsp;&nbsp;"../g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/b/g" &nbsp;&nbsp;"../.."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/" &nbsp;&nbsp;"../../"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/" &nbsp;&nbsp;"../../g"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;"http://a/g"这意味着当http://a/b/c/d;p?q您使用基本URI时//g,相对引用将转换为http://g。

浮云间

这些是协议相对URL。他们指向一个地址,保持当前的协议。此表示法通常用于避免“混合内容”问题(IE警告消息在同一HTTPS页面上抱怨http和https资源)。更新:RFC 3986中的官方文档:以两个斜杠字符开头的相对引用称为网络路径引用;&nbsp;这种参考很少使用。以单个斜杠字符开头的相对引用称为绝对路径引用。不以斜杠字符开头的相对引用称为相对路径引用。
打开App,查看更多内容
随时随地看视频慕课网APP