URI中的Scheme是可选的吗?

mat*_*anm 2 url uri

最近,我被要求在网站上添加一些Woopra JavaScript,并注意到URL以双斜杠开头(即省略了该方案)。我以前从未见过,所以我去尝试找到更多有关它的信息,但我唯一能找到的就是Woopra常见问题解答中的一项

安装程序中的Woopra JavaScript在脚本的URL调用中不包含http。这是对的。JavaScript已经过优化,可以在您的网站上快速高效地运行。

但是,某些验证和站点测试/调试服务和工具无法将代码识别为正确的代码。这是正确有效的。如果警告使您烦恼,只需将http添加到脚本的URL。它不会影响脚本。

(为清楚起见,URL为“ //static.woopra.com/js/woopra.v2.js”-除“ http”外,省略了冒号。)

是否有关于此做法的更多信息?如果确实有效,则必须有一个规范对此进行讨论,我非常希望看到它。

在此先感谢您满足我的好奇心!

Lee*_*ald 5

这是一个有效的URL。它称为RFC 3986中定义的“网络路径引用” 。如果您不指定方案/协议,它将退回到当前方案。因此,如果您通过https://查看网页,则所有网络路径引用也将使用https。

例如,这是再次链接到RFC 3986文档的链接,但带有网络路径引用。如果您通过https查看此页面(尽管看起来您无法在StackOverflow中使用https),则该链接将反映您当前的URI方案,这与第一个链接不同。