Mic*_*kin 124 html https html5 http relative-url
可能重复:
URI以两个斜杠开头......它们的行为如何?
绝对URL省略协议(方案),以便将当前页面的一个简写保存
为//用于脚本和链接标记?有人看过/使用过吗?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
为什么URL以两个正斜杠开头?这是速记http://吗?
vzw*_*ick 201
最有名的是"协议相对URL",当元素(例如示例中的JS文件)可以从一个http或一个https上下文加载时,它们特别有用.通过使用协议相对URL,您可以避免实现
if (window.location.protocol === 'http:') {
myResourceUrl = 'http://example.com/my-resource.js';
} else {
myResourceUrl = 'https://example.com/my-resource.js';
}
Run Code Online (Sandbox Code Playgroud)
在你的代码库的逻辑类型(假设,当然,这在服务器example.com能够同时通过服务资源http和https).
一个突出的现实世界的例子是Magento电子商务引擎:出于性能原因,商店的页面http默认使用plain ,而结帐已https启用.
当非协议相对URL(即http://example.com/banner.jpg)引用硬编码资源(即网站标题中的促销横幅)时,达到https启用结帐的客户将受到相当不友好的欢迎
"这个页面上有不安全的元素"
提示 - 正如你可以想象的那样,将普通的非技术娴熟的人抛弃了.
如果通过//example.com/banner.jpg虽然引用了上述资源,浏览器会负责预先设置正确的协议.
tl; dr:即使是混合的http/https环境的最轻微的可能性,只需使用双斜杠/协议相对URL来加载资源 - 假设提供内容的主机同时启用了http和https.
Rad*_*gut 11
它将自动添加https或http,具体取决于请求的生成方式.
| 归档时间: |
|
| 查看次数: |
58786 次 |
| 最近记录: |