在学习Java网络编程时,对URI和URL概念模糊不清,于是进行了资料查询和知识总结。
本文讲述了URI、URL和URN基本概念和区别联系,如有问题,切望指正。
一、URI、URL、URN基本概念
1、URI: Uniform Resource Identifier 统一资源标志符
- 用来表示抽象或物理资源的一个紧凑字符串
2、URL: Uniform Resource Locator 统一资源定位符
- 一种定位资源的主要访问机制的字符串
- 一个标准的URL必须包括:protocol、host、port、path、parameter、anchor
- 它标识一个互联网资源,并指定对其进行操作或获取该资源的方法
3、URN: Uniform Resource Name 统一资源名称
- 通过特定命名空间中的唯一名称或ID来标识资源
二、三者关系
1、每一个URL都是URI,而URI不一定是URL
- 例如,
urn:isbn:0-486-27557-4
无二义性地标识出莎士比亚的戏剧《罗密欧与朱丽叶》的某一特定版本。这种标识系统是一个典型的 URN 使用范例。
2、URL 是一种 URI,它标识一个互联网资源,并指定对其进行操作或获取该资源的方法
- 如:
http://www.google.com:80/index.html
、ftp://example.org/resource.txt
3、URN则是在某个命名空间中可以唯一确定的资源名称,只要在这个空间中名称是唯一的就好,所以也可以用作URI
4、统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法