我一直在读关于网址的内容。绝对,方案相对,根相对,位置相对 我仍然不明白这两者之间的区别:
//domain.com/index.html - scheme relative
domain.com/index.html - ?
。
问题1:
如果我错了,请纠正我//domain.com/index.html
将解析为绝对网址:
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)。
。
问题2:
domain.com/index.html
将如何解决?与Q1中的方案相对网址相同?或者是别的什么?
。
问题3:
这些网址之间有什么区别,它是什么?为什么?
//www.domain.com/index.html
www.domain.com/index.html
。
问题4:
//www.domain.com/index.html
将如何解决?
。
问题5:
www.domain.com/index.html
将如何解决?
答案 0 :(得分:3)
查看这些网址非常容易,将您的人类知识应用于他们可能的意思,而不是像网络浏览器这样的软件实施的更简单的规则。
最简单的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:example
然后是位置相对的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.org/bob
https://example.com/foo/bar
,则//example.org/bob
表示https://example.org/bob
http://example.com
,则//foo.bar
表示http://foo.bar
请注意,最后一个示例对我们来说看起来不像是域名,但它仍然遵循相同的规则。解析任何相关表单时,不会考虑URL是否实际上有用。
"等公约以www。"开头。和#34;以.com"结束。不能依赖,并且不用于确定URL是否相对,所以你需要做的就是回答所有问题,遵循这套简单的规则:
答案 1 :(得分:0)
他们非常不同。第二个是对路径“domain.com/index.html”的相对引用。
WRT“domain.com”与“www.domain.com”:这些只是不同的主机名(或第二个版本中的路径名)