最近我在CDN文档中看到了这些类型的URL:
//cloudflare.cdnjs.com/foo
我意识到他们在他们面前缺少http:
或https:
。
嗯,我想,并尝试在本地测试中实现它们,并意识到它们不起作用(他们将//
解析为file://
,尽管它应该是{{1} }})。
然后当我将其上传到我的测试服务器时,它运行正常(已解决http:
为//
)。
所以我想知道,为什么有人会在没有协议的情况下写它?
感谢。
答案 0 :(得分:6)
(从技术上讲,它不是“协议”,而是URI方案)
对于HTTP,排除方案意味着UA将使用当前方案(以及协议)来检索文件,这意味着一些复制+粘贴代码可以重复用于HTTP和HTTPS(甚至SPDY)请求不会在浏览器中触发“部分安全页面”警告。
答案 1 :(得分:3)
根据用户的安全设置,如果页面提供混合内容(HTTP和HTTPS),浏览器通常会发出警告。当然,您可以使用与您希望托管页面相同的协议来编写HTML代码。但是,在安全和非安全门户中使用相同的HTML并不罕见。此外,您真的更喜欢HTML与底层协议无关。
像这样编写CDN链接可确保CDN请求使用与主机页面相同的协议。