繁体   English   中英

当未从现有页面链接时,以“//”开头的 URL 的预期行为是什么?

[英]What is the expected behavior of a URL preceded with "//" when not linked from an existing page?

避免在可能是httphttps页面上出现不安全内容警告的一个好技巧是使用“//”引用代码中的所有脚本或资产,这将使用当前页面协议而不是指定的协议。

如果直接在浏览器 URL 框中输入前面带有//的 URL,浏览器是否会选择默认行为? 它会/应该默认为httphttps ,还是一些规则来测试和选择一个?

网络路径引用(例如, //example.com/ )是一个相对引用 为了解析一个相对引用,一个基本的 URI 是必要的

当在浏览器的地址栏中输入网络路径引用时,前三种方式无法建立这样的基本 URI,因此使用第四种方式5.1.4。 默认基本 URI ,适用:

如果上述条件都不适用,则基本 URI 由应用程序的上下文定义。 由于此定义必然依赖于应用程序,因此无法使用其他方法之一定义基本 URI 可能会导致不同类型的应用程序对相同内容的解释不同。

换句话说,这取决于每个浏览器。

如果浏览器只支持httphttps ,它可能会选择用户输入“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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM