有没有理由不使用src =“// domain.com/file.js”,这是协议动态的?

时间:2010-02-24 23:47:51

标签: javascript href hyperlink src

在我的一些电子商务应用程序中,我开始使用src="//domain.com/file.js",我需要引用我想要包含的外部托管脚本。在我的电子商务应用程序中,并非所有页面都实际使用https,因为并非每个页面都有表单。

我想知道总是使用它是否有任何不利之处,因为它也是http的快捷方式,您始终可以避免不安全的IE警告。

2 个答案:

答案 0 :(得分:5)

如果您的意图是从加载页面的相同协议加载资源,那么使用它是完成它的完美方式。但是,即使您的网页目前在http下投放,您也可能需要从https加载一些资源(假设资源仅在http投放,或者您希望减少服务器,不加密它加密页面上的每个图像)。在这种情况下,您需要明确指定协议名称。

答案 1 :(得分:2)

@Mehrdad_Afshari从HTTP获取资源可以打开来自MITM攻击的注入漏洞,HTTPS专门用来保护您免受攻击。经典的例子是通过HTTP获取脚本,但是过去有一些错误(参见http://www.adambarth.com/papers/2009/barth-caballero-song.pdf)可能允许MITM通过IMG标记注入脚本。由于这样的担忧,ForceHTTPS工作(https://crypto.stanford.edu/forcehttps/)特别推荐了与方案相关的链接。