从CDN中包含.js文件时,为什么“http:”丢失?

时间:2013-06-17 13:28:42

标签: javascript cdn

今天我遇到了这个:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

我认为应该是这样:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

有人可以解释为什么所有CDN人都在其包含片段中省略http:吗? CloudFlare也是这样做的:

//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js

但为什么呢?即使是最愚蠢的浏览器也能得到这个,或者只是添加http:更安全吗?

1 个答案:

答案 0 :(得分:3)

查看http://www.ietf.org/rfc/rfc3986.txt以获取“相对参考”。引用的路径与使用的方案有关。因此,如果您的网站是http://www.example.com http - 部分是该计划。现在在“//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js”中,//部分表示您想要相对到该计划您网站的相对于http的含义。