10

所以考虑像这样的协议相关 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称为绝对 URL。其他任何东西都是相对 URL//http:

问题和答案都没有专门讨论协议相关的 URL,所以我注意到这可能只是措辞上的疏忽。

但是,我现在在我的开发中也遇到了一个问题,一个只接受绝对 URL 的系统不适用于协议相对 URL,我不知道这是设计使然还是由于错误。

RFC3986 部分经常与协议相关的 URL 相关联,也大量使用了“相对”这个词。4.3 然后继续说绝对 URI 定义了一个方案。

所有这些反对我最初假设的证据都让我想到了这个问题;

协议相关的 URL 是相对的还是绝对的?

4

2 回答 2

3

给定它相对的 URL,每个相对 URL 都是一个明确的 URL。因此,如果您的页面是,http://mypage.com/some/folder/那么您知道相对 URLthis/that对应于http://mypage.com/some/folder/this/that,并且您知道相对 URL//otherpage.com/解析为http://otherpage.com/. 重要的是,如果不知道它相对的页面 URL,就无法解析它。

相对 URL 是任何某物相关且无法自行解析的 URL。绝对 URL 不需要任何上下文来解析。

于 2013-03-22T23:32:31.577 回答
3
于 2014-11-20T07:35:02.787 回答