URI URL URN
今天想深究一下 URL URI URN 的区别。在网上找了很多资源,结果还是一头雾水~~~很郁闷~~特此发帖~~~
如果你真正的明白,请告诉我~~不胜感激~~~我在网上找了一天答案~~看了很多文章~~~最后还是不明白~~~
以下是我找到的一些资源:
还有一些资源从功能的角度说明 URI 和 URL。例如说 URI 管标识资源,“定位资源”是 URL 的事。最具有说服力的就是 JAVA api 本身所提供的 URI 和 URL 两个类提供的方法。
但是单从字符串结构上能否区分 URL 和 URI 呢
在 Java URI 和 URL 的 API 文档中,也有相关的介绍,但是,URI 的文档中说:
让我感到不解。
还有:
在 URI 的文档中提到:
但在 URL 的文档中却:
还有:
是 URI 也是 URL
那:
这些都是 URI ,但他么是 URL 么?
(
如果按照 http://blog.csdn.net/alexmajy/archive/2007/06/07/1642314.aspx 中的解释,他么不是!
但我却认为是“相对URL”,但是 URL 可以为“相对”么?
)
.... So much question~~ 很郁闷~~ 很苦恼~~~
------解决方案--------------------
URN , URL 不过是 URI 的一个特例。就像正三角形是三角形一样。
相对URL是在特定的上下文中才有意义。 没有上下文,根本没有意义。
W3C 不是又定义了 xml:base
------解决方案--------------------
这几个词乱用得确实很厉害。
我以前查过相关资料(主要来自wiki),LZ可参考:
URI是最广泛的一个概念,泛指资源的标识,具体包含URL和URN两种。
URN是一种命名规则,格式是
URN:协议名称:类别数据,
具体格式由具体协议自定。
例如图书ISBN可以为 URN:isbn:isbn号。
URL就是最常见的,最完整的格式是:
资源类型://用户名:密码@域名:端口/路径?查询参数#anchor
例如:http://www.g.cn/?query=adfa ftp://a:a@hh.edu:21/a
做个类比,URI就像是个人识别方式,URN可比作他的名字(或身份证),URL可比作他的住址。
本来URL称为URI是正确的,
但不知为什么,现在很多人将绝对URL简称为URL,将相对URL称为URI,
这就是巨大混乱的来源。
可参考wiki, http://en.wikipedia.org/, 搜URI URL URN.
里面有相关的RFC链接。
PS:
顺便发发牢骚,
想查严谨的技术资料,最好不要找国内的,
一来缺乏严谨,很多都是个人见解,泛泛而谈;
二来互相抄袭的太多,完全淹没在相同的无用信息里,自己受累。