1

我以前从未注意到这一点,但如果你去谷歌库页面,所有的 HTML 都是用表达式编码的src=//,即对于 Jquery:

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

但是如果你去Jquery 页面,他们告诉我们用一个赞嵌入src=http:// 代码

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

我真的不明白他们两个有什么区别?

这些用途的优缺点是什么?

编辑 :

好的,我理解这个的意思,第一个允许你保持相同的协议来加载 lib,http或者https. 但就是这样吗?没有速度/安全/更深层次的原因吗?

对我来说似乎很奇怪,src=http://无处不在,第一个不适用于本地文件,那么我为什么要使用src=//表达式?

4

2 回答 2

4

这是一个相对于协议的URI - 如果它出现在 http 页面中,它将被视为,http://但如果它出现在 https 页面中,它将被视为https://.

如果通过 https 加载的页面包含通过 http 加载的其他资源,则浏览器将显示警告,甚至可能认为整个页面是“不安全的”。为了确保用户不会得到“破挂锁”所有图像,JS 和 CSS 文件也必须是 https(不一定从同一服务器加载或受同一证书保护,但它们都必须是 https 连接浏览器知道信任)。

加载 https 资源的 http 页面不是问题,但由于这样做并没有真正获得任何用户体验,因此您也可以通过 http 加载资源。

于 2013-05-24T07:27:49.007 回答
0

它用于使用与源页面相同的协议。

如果页面使用 http 协议加载,则库文件将使用 http 加载,如果使用 https 加载页面,则库也将使用相同的协议

于 2013-05-24T07:28:03.213 回答