[英]What is the expected behavior of a URL preceded with "//" when not linked from an existing page?
避免在可能是http
或https
页面上出现不安全内容警告的一个好技巧是使用“//”引用代码中的所有脚本或资产,这将使用当前页面协议而不是指定的协议。
如果直接在浏览器 URL 框中输入前面带有//
的 URL,浏览器是否会选择默认行为? 它会/应该默认为http
或https
,还是一些规则来测试和选择一个?
网络路径引用(例如, //example.com/
)是一个相对引用。 为了解析一个相对引用,一个基本的 URI 是必要的。
当在浏览器的地址栏中输入网络路径引用时,前三种方式无法建立这样的基本 URI,因此使用第四种方式5.1.4。 默认基本 URI ,适用:
如果上述条件都不适用,则基本 URI 由应用程序的上下文定义。 由于此定义必然依赖于应用程序,因此无法使用其他方法之一定义基本 URI 可能会导致不同类型的应用程序对相同内容的解释不同。
换句话说,这取决于每个浏览器。
如果浏览器只支持http
和https
,它可能会选择用户输入“www.example.com”之类的内容时使用的相同方案,因此可能是http
(请参阅后缀参考)。 但是很多浏览器都支持更多的方案。
例如,在我的系统上,请求//example.com/test
使用file
方案解析为 URI: file:////example.com/test
(Firefox), file:///example.com/test
(铬)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.