考虑一个像这样的协议相对URL;
//www.example.com/file.jpg
我脑海中一直存在的想法是,协议相对URL实际上是绝对URL。它们的行为与绝对URL完全相同,而且从来不像相对URL那样工作。我不希望这会让浏览器去找什么东西,例如:
http://www.example.com///www.example.com/file.jpg
URL定义主机和路径(就像绝对URL一样),方案从页面使用的方案继承,因此它构成了一个完整的明确的URL,即绝对URL。
对吗?
现在,经过进一步的研究,我发现这个答案,其中提到:
如果一个URL以方案和方案特定部分开头,它就称为绝对URL(在此之后是
//
和http:
)。其他所有内容都是相对URL。
问题和答案都没有明确讨论协议相对URL,所以我意识到这可能只是措辞上的疏忽。
然而,我现在在我的开发中也遇到了一个问题,只接受绝对URL的系统不能处理协议相对URL,我不知道这是出于设计还是由于错误。
通常与协议相对URL相关联的RFC3986章节也频繁使用“相对”一词。然后,4.3继续指出,绝对URI定义了一个方案。
所有这些证据都反对我的最初假设,这引出了一个问题:
协议相对URL是相对的还是绝对的?