我最近看到一些没有协议的链接。它似乎并不太难理解 - 我认为这是一个好主意,非常直观。
对于那些你不知道的人,使用像//example.com/script.js
这样的URL会指向http://example.com/script.js
或https://example.com/script.js
,具体取决于URL是否来自http或https URL。例如,包含来自https页面的http脚本或图像可能是一个安全问题,因此这解决了这一问题,而无需在代码中进行协议检测。
我的问题是,它有什么样的浏览器/操作系统支持?在生产中使用是否安全?这肯定会让事情变得容易一些。
简单的例子和测试:http://codetester.org/916c6916
编辑:只是一个跟进,我已经使用这个为我公司的广告服务器生产许多东西,现在几年没有问题。
这种行为是RFC 1808(第4节)的一部分,大约16岁,所以每个主要的浏览器应该(并且确实)支持这一点。
遗憾的是,如果在a bug with IE7 and -8或link
上使用协议相对URL,那么@import
将使他们下载资源两次 - 这应该不是一个大问题,但是很难看,应该记住。
如果您正在使用本地计算机进行开发,则可能会因src="file://host.com/filename".
而失败
在这种情况下,您需要明确指定方案:http://host.com/filename
或https://host.com/filename
。