网络资源的定义--URI,URL,URN

什么是网络资源?

网络资源主要是指借助于网络环境可以利用的各种信息资源的总和,例如HTML文档、图像、视频,音频、程序等等。

那么如何访问这些资源呢?
比如,今天朋友发给我一个链接:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html
我点击这个链接就可以访问到具体的详细页面,这就是访问一个资源。

撇开网络是如何访问到这个页面的技术细节,且谈谈这个链接。
朋友发给我的这个链接称之为URL。那么什么是URL呢?


要谈URL,首先要说说和它相关的其他几个概念:URI,URL,URN。

其中URL与URN同级,且都属于URI的子集,也就是说如果一个链接是URL,那么它也可以被视为一个URI。URI/URL由包括确定语法和相关协议的方案所定义。


URI与URL有着共同的历史,它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制成名为RFC的互联网标准了(有兴趣的朋友可以了解)。

URI:Uniform Resource Identifier,统一资源标识符,URI有绝对URI和相对URI(绝对/相对路径就是指的URI)
绝对URI:
当前RFC4395规范URI的定义为: 协议名称://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
例子:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html
其中http为协议名称,www.cnblogs.com为域名,/gaojing/archive/2012/02/04为目录,2413626.html为文件名.后缀。其他值缺省

相对URI:
相对URI不包含任何命名规范信息,它的路径通常指同一台机器上的资源。相对URI可能含有相对路径(如,“..”表示上一层路径),还可能包含片段标志符。例如:logo

URL:Uniform Resource Locator,统一资源定位符
URL仅包含了绝对URI的功能,如果说URI是定义一个资源的话,那么URL就是直接指明了如何找到这个资源。
举个例子,我们要找到张三,URI的描述可能为他住在李四隔壁,或者他在xx街xx号等等。其中xx街xx号就是它的URL。

URN:Uniform Resource Name,统一资源名称
唯一标识一个实体的标识符,但是不能给出实体的位置。比如张三,我们要唯一标识张三这个人可以用他的身份证号,但是这对于如何找到这个人没有任何帮助。


RFC 3305
关于URI的讨论多源于题目为《W3C/IETF URI规划联合小组报告:统一标识资源符(URI),URL和统一资源名(URN):阐明与建议》的RFC3305文件。这一RFC文件描述了一个,以统一W3C和IETF内部对于各种“UR*”术语之间关系的不同看法为目的而设立的,W3C/IETF联合工作小组的工作。虽然未作为标准被这两个组织所发布,但该文件确立了上述种种共识,并就此催生了许多标准的诞生。

相关参考:
http://blog.chinaunix.net/uid-20379580-id-1956115.html 3.2.1/3.2.2小节
http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html

注:
有细心的童鞋可能发现为什么有些网址中没有www。
http://zhidao.baidu.com/link?url=CJJ7o3VkFdgzTj_82aRfcf6JieEJNqltvBm-pb6D9QOqJsDONa3hicRSZXh0GPJr0d3GPtGXaEcBqEn4jgRdV_

你可能感兴趣的:(网络资源的定义--URI,URL,URN)