URL 是否需要协议(例如 http 或 https)才能有效?

Is a protocol (eg. http or https) required for a URL to be valid?

最近我发现了很多来自分析插件的代码,它们将 URL 指定为 //fonts.googleapis.com//www.google.com

基本上它以两个正斜杠开头,然后是域或子域。这些链接在浏览器中工作正常。我已经阅读了以下文档,但我仍然不确定上面是否可以称为有效 URLs(基本上这些应该被报告为损坏的 URLs)。

https://developer.mozilla.org/en-US/docs/Web/API/URLhttps://url.spec.whatwg.org/

有没有标准规范可以参考?

它们都是有效的 scheme-relative-URL string,尽管它们需要在 Base URL 的上下文中才有意义。在网页中使用时,网页将提供基础 URL 上下文。

尽管 URLs 有其他更早的标准,whatwg 文档代表了最新的、网络兼容的定义。