gpt4 book ai didi

http - 需要方案相对 url 说明

转载 作者:可可西里 更新时间:2023-11-01 16:30:22 24 4
gpt4 key购买 nike

我一直在阅读有关 url 的内容。绝对、方案相对、根相对、位置相对。
我仍然不明白这两者之间的区别:

//domain.com/index.html           - scheme relative
domain.com/index.html - ?

.

问题一:
如果我错了请纠正我 //domain.com/index.html 将解析为这样的绝对 url:

http://domain.com/index.html
https://domain.com/index.html
ftp://domain.com/index.html
file://domain.com/index.html -- if in email

并且浏览器会有所不同:ie6不支持,ie7,8会取两次数据(http https)。

.

问题二:
domain.com/index.html 将如何解析?与 Q1 中的方案相对 url 相同?或者是别的什么?

.

问题三:
这些 url 之间有什么区别吗?区别是什么?为什么?

//www.domain.com/index.html
www.domain.com/index.html

.

问题 4:
//www.domain.com/index.html 将如何解析?

.

问题 5:
www.domain.com/index.html 将如何解析?

最佳答案

查看此类 URL 非常容易,应用您对它们可能含义的人类知识,而不是通过网络浏览器等软件实现的更简单的规则。

最简单的 URL 类型(或更准确地说是 URI,因为某些方案不表示位置,仅表示标识符)是绝对的;它以一个方案开始,然后是一个冒号,并且不需要上下文来解析它。示例:

  • http://example.com
  • https://www.example.com/foo/bar.baz
  • http://127.0.0.1:8001
  • mailto:someone@example.com
  • data:text/plain,test
  • urn:例子

然后是位置相关的URL;也就是说,任何没有方案,也没有前导斜线的东西。这些替换了当前上下文中斜线后的所有内容,但保留其余部分。如果当前上下文是 http://example.com/foo/bar.baz ,你可以有这样的相对 URL:

  • bob.baz -> http://example.com/foo/bob.baz
  • thing/widget.gizmo -> http://example.com/foo/thing/widget.gizmo
  • example.com/page -> http://example.com/foo/example.com/page

请注意,最后一个示例乍一看像是域名,但实际上与所有其他相对 URL 完全相同。

具有前导斜杠的根目录相对 URL 是相似的,但它们不是在最后一个斜杠之后删除,而是在第一个斜杠之后删除。给定相同的上下文,前面的示例变为:

  • /bob.baz -> http://example.com/bob.baz
  • /thing/widget.gizmo -> http://example.com/thing/widget.gizmo
  • /example.com/page -> http://example.com/example.com/page

根相对 URL 也可以包含一个冒号,因为前导斜杠不能是方案前缀的一部分:

  • /foo:bar -> http://example.com/foo:bar
  • /urn:example -> http://example.com/urn:example

最后,还有相对于方案的 URL,带有 两个 前导斜杠。它们替换了原始双斜线后的所有内容,因此只保留方案:

  • 如果上下文是 http://example.com/foo/bar//example.org/bob 表示 http://example。组织/鲍勃
  • 如果上下文是 https://example.com/foo/bar//example.org/bob 表示 https://example。组织/鲍勃
  • 如果上下文是http://example.com,那么//foo.bar就是http://foo.bar

请注意,最后一个示例对我们来说看起来不像域名,但它仍然遵循相同的规则。在解析任何相关形式时,不会考虑 URL 是否实际上有用

诸如“以 www 开头”之类的约定。和“以 .com 结尾”不能作为依据,也不能用于确定 URL 是否是相对的,因此要回答所有问题,您需要做的就是遵循这组简单的规则:

  1. 如果有两个前导斜杠,则为scheme relative
  2. 如果有一个前导斜线,它是根相对
  3. 如果没有前导斜杠,但有一个冒号,则假定它是一个绝对 URI
  4. 如果没有前导斜杠,也没有冒号,则为相对位置

关于http - 需要方案相对 url 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25402304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com