【发布时间】:2013-03-12 23:09:37
【问题描述】:
所以考虑像这样的protocol-relative URL;
//www.example.com/file.jpg
从我记事起,我就一直在脑海中的想法是,相对于协议的 URL 实际上是绝对 URL。它们的行为与绝对 URL 完全一样,但它们从不会像相对 URL 那样工作。我不希望这会让浏览器在
http://www.example.com///www.example.com/file.jpg
URL 定义了主机和路径(就像绝对 URL 一样),并且该方案继承自所使用的任何页面,因此它构成了一个完整明确的 URL,即绝对 URL。
对吗?
现在,在对此进行进一步研究后,我发现了this answer,其中指出;
如果 URL 以方案和方案特定部分开头(此处为
http:之后的//),则称为绝对URL。其他任何东西都是相对 URL。
问题和答案都没有专门讨论与协议相关的 URL,所以我注意这可能只是措辞上的疏忽。
但是,我现在在开发过程中也遇到了一个问题,即仅接受绝对 URL 的系统无法与协议相对 URL 一起使用,我不知道这是设计使然还是由于一个错误。
RFC3986 section 通常与协议相关的 URL 相关联,它也经常使用“相对”这个词。然后 4.3 继续说绝对 URI 定义了一个方案。
所有这些反对我最初假设的证据都让我想到了这个问题;
协议相关的 URL 是相对的还是绝对的?
【问题讨论】:
标签: url uri relative-path absolute-path protocol-relative