url / src / href属性中的两个正斜杠[重复]

8年前关闭。

URI以两个斜杠开头……它们的行为如何?

省略协议(方案)的绝对URL以便将当前页面的简写形式之一保留

为//脚本和链接标记?有人看过/使用过吗?

当我发现以下一时,我正在浏览HTML5重置的来源:

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

为什么URL以两个正斜杠开头?这是简写http://吗?

回答:

“两个正斜杠”是“现在正在使用什么协议”的常用缩写。

最有名的是“协议相对URL”,当可以从httphttps上下文加载元素(例如您示例中的JS文件)时,它们特别有用。通过使用协议相对URL,您可以避免实施

if (window.location.protocol === 'http:') {

myResourceUrl = 'http://example.com/my-resource.js';

} else {

myResourceUrl = 'https://example.com/my-resource.js';

}

整个代码库中的逻辑类型(当然,假设服务器example.com能够同时通过http和来提供资源https)。

Magento电子商务引擎是现实世界中一个著名的例子:出于性能原因,http默认情况下,商店的页面使用纯文本,而结帐功能已https启用。

当非协议相关的URL(即http://example.com/banner.jpg)引用了硬编码的资源(即网站标题中的促销横幅)时,到达已https启用结帐处的客户会受到相当不友好的欢迎

“此页面上存在不安全的元素”

提示-就像您可以想象的那样,这会让普通的不懂技术的人丢掉。

如果通过上述方式引用了上述资源//example.com/banner.jpg,则浏览器将在适当的协议之前进行处理。

以上是 url / src / href属性中的两个正斜杠[重复] 的全部内容, 来源链接: utcz.com/qa/411796.html

回到顶部