所以http://cdnjs.com/和我的一些同行建议我们在资源前面使用//
。这个术语或技术叫什么?据我了解,目的是保留http
或https
。但是当我想谷歌说yepnope
与它的兼容性时,我该怎么称呼它?
答案 0 :(得分:3)
这是一个“相对URL” - 在这种情况下,是一个没有协议部分的URL(因此它使用其父文档中的协议),就像/foo.html
是没有协议或服务器名称部分的相对URL一样(因此使用其父文档的协议和服务器)。
协议相对URL的目的是它们可以在http
和https
文档之间移植(并且缩短了十分之一)。所以如果你有:
<link rel="stylesheet" href="//cdnjs.cloudflare.com/etc.css">
...在页面http://example.com
上,网址扩展为
http://cdnjs.cloudflare.com/etc.css
...但如果它在页面https://example.com
上,则会展开到
https://cdnjs.cloudflare.com/etc.css
...并且您没有从浏览器中收到“混合安全且不安全的内容”警告。
一个小小的缺点是,如果您使用直接从文件系统打开的文件进行一些快速和脏的本地测试,其协议为file:
,因此URL最终为
file://cdnjs.cloudflare.com/etc.css
...这可能不是指您计算机上的有效资源(并导致SO上的问题)。
更多关于我的博客:Skipping the protocol