为什么使用“src = //”而不是“src = http://”

时间:2013-05-24 07:25:45

标签: html src

之前我从未注意到这一点,但如果你转到Google libraries pages,所有的HTML都会使用src=//表达式进行编码,即对于Jquery:

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

但是如果你去Jquery page,他们告诉我们用src=http://嵌入代码 喜欢

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

我真的没有得到他们俩之间的区别?

什么是专业人士?这些用途的缺点?

编辑:

好的,我理解了这个的含义,第一个允许你保留相同的协议来加载lib,httphttps。但是这样吗?没有速度/安全/更深层次的原因吗?

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

2 个答案:

答案 0 :(得分:4)

这是协议相对 URI - 如果它出现在http页面中,它将被视为http://,但如果它出现在https页面中,则会被视为{ {1}}。

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

加载https资源的http页面不是一个问题,但由于这样做不会在用户体验方面获得任何好处,所以您也可以通过http加载资源。

答案 1 :(得分:0)

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

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

相关问题