2017-10-13 51 views
1

避免页面上不安全的内容警告的好方法是httphttps,它是使用“//”引用代码中的所有脚本或资产,该代码将使用当前页面协议而不是指定的页面协议。未从现有页面链接时,以“//”开头的URL的预期行为是什么?

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

回答

1

网络路径引用(例如,//example.com/)是relative reference。为了解决相对的参考,a base URI is necessary

当进入网络的路径引用到浏览器的地址栏,没有这样的基本URI可以与第一三种方式来建立,所以第四个方式,5.1.4. Default Base URI,适用:

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

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

如果浏览器将只支持httphttps,它可能会选择当用户输入类似“www.example.com”是被使用相同的方案,所以大概http(见Suffix Reference)。但许多浏览器支持更多的方案。 file:////example.com/test(火狐),file:///example.com/test(铬):

例如,我的系统上,请求//example.com/test使用file方案解析为一个URI。

相关问题