相对URL相对URL?

所以考虑一个像这样的协议相对URL;

//www.example.com/file.jpg

只要我记得,我在脑海中想到的想法是,与协议相关的URL实际上是绝对的URL。 它们的行为与绝对URL完全相同,绝不会像相对URL那样工作。 我不希望这会让浏览器去找东西

http://www.example.com///www.example.com/file.jpg

该URL定义了主机和路径(就像绝对URL一样),并且该方案从任何页面使用的地方继承而来,因此它会生成一个完整无歧义的URL,即绝对URL。

对?

现在,经过对此的进一步研究,我找到了这个答案,其中指出:

如果URL以方案和方案特定部分开头(这里//http: ),则URL称为绝对URL。 其他任何内容都是相对URL。

问题和答案都没有具体讨论与协议相关的URL,所以我留意到它可能只是措辞上的疏忽。

然而,我现在也在我的开发中遇到了一个问题,在这个问题中,只接受绝对URL的系统不能与协议相关的URL一起工作,而且我不知道是由设计还是由于错误。

通常与协议相关的URL关联的RFC3986部分也围绕着很多词语“相对”。 4.3然后继续说绝对URI定义了一个方案。

所有这些反对我最初假设的证据都让我回答了这个问题。

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


每个相对URL都是一个明确的URL,只要它与之相关的URL即可。 所以,如果你的网页是http://mypage.com/some/folder/那么你知道的相对URL this/that相当于http://mypage.com/some/folder/this/that ,你知道的相对URL //otherpage.com/解析为http://otherpage.com/ 。 重要的是,如果不知道它与之相关的页面URL,它就无法解决。

相对URL是任何相对于某个东西而言都无法解析的URL。 aboslute URL不需要任何可解决的上下文。


您称之为“协议相关URL”WHATWG在URL标准文档中称之为“方案相关URL”,它不是绝对URL,而是相对URL。

授予HTTPS上可用的大多数网站在相应的HTTP URL上显示相同的内容,但情况并非如此,因此,不包括该方案的URL不会被视为绝对。

从文件:

绝对URL必须是一个方案,后跟“:”,后跟一个方案相关URL,如果方案是相对方案,或者方案数据,否则可选择后跟“?”。 和一个查询。

具体回答你的问题,我们有:

相对URL必须是方案相关URL,绝对路径相对URL或不以方案和“:”开头的路径相对URL,可选地后跟一个“?” 和一个查询。

在解析相对URL时,基本URL必须位于范围内。

示例(括号表示可选)

路径相对URL [path segment][/[path segment]]…

  • about
  • about/staff.html
  • about/staff.html?
  • about/staff.html?parameters
  • 绝对路径相对URL: /[path-relative URL]

  • /
  • /about
  • /about/staff.html
  • /about/staff.html?
  • /about/staff.html?parameters
  • 与方案相关的URL: //[userinfo@]host[:port][absolute-path-relative URL]

  • //username:password@example.com:8888
  • //username@example.com
  • //example.com
  • //example.com/
  • //example.com/about
  • //example.com/about/staff.html
  • //example.com/about/staff.html?
  • //example.com/about/staff.html?parameters
  • 绝对URL: scheme:[scheme-relative URL][?parameters]

  • https://username:password@example.com:8888
  • https://username@example.com
  • https://example.com
  • https://example.com/
  • https://example.com/about
  • https://example.com/about/staff.html
  • https://example.com/about/staff.html?
  • https://example.com/about/staff.html?parameters
  • 相对网址:

  • 任何来自方案相关的URL列表
  • 来自绝对路径相对URL列表的任何内容
  • 任何与路径相关的URL列表
  • 注意:这个答案并不反对第一个答案,但是我只是稍微清楚一点,那就是帖子在阅读了几遍并做了进一步的研究之后回答了这个问题。 希望这个答案能够更好地为其他人磕磕绊绊。

    链接地址: http://www.djcxy.com/p/64659.html

    上一篇: relative URLs relative URLs?

    下一篇: Hashbang URLs make the website difficult to crawl by Google?