http://和//之间的区别

Mat*_*hew 4 html javascript dns

我注意到CDN //在脚本源的开头使用.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>  
Run Code Online (Sandbox Code Playgroud)

这在本地(显然)不起作用,所以我http:之前添加//

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>  
Run Code Online (Sandbox Code Playgroud)

所以...为什么他们把它放在//一开始而不是http://?有什么意义?是某种DNS预取吗?

此外,//如果脚本元素位于页面底部,那么无用吗?

https://developer.mozilla.org/en-US/docs/Web/HTTP/Controlling_DNS_prefetching

Ast*_*oCB 10

//是一个相对协议指标.它将加载当前正在使用的任何协议.如果您正在加载页面http:,它将加载资源http:.如果您正在加载它https:,它将被加载https:.这很重要,因为通过HTTPS加载的页面也应该通过HTTPS加载其资源以用于安全目的.

它本地不起作用的原因是因为在本地,你正在使用file:协议(显然),所以它会尝试加载资源file:,这将无法工作,因为它是一个URL,而不是一个文件路径目录中的资源.

您可能还想查看此页面,描述其用法(提示,常见陷阱等)和标记.