URI和URL区别

URI包括URL和URN两个类别,URL是URI的子集,所以URL一定是URI,而URI不一定是URL

URI = Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串。
URL = Universal Resource Locator 统一资源定位符,一种定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。
URN = Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。

url_uri_diff

举个栗子:

个人的身份证号就是URN,个人的家庭地址就是URL,URN可以唯一标识一个人,而URL可以告诉邮递员怎么把货送到你手里。

再举个栗子:

http://blog.csdn.net/koflance是个URL,通过这个网址可以告诉CDN找到我的博客所在地,并且还告诉用HTTP协议访问,而isbn:0-395-36341-1是RUN,一个国际标准书号,可以唯一确定哪本书。

目前HTTP规范已经不使用URL,而是使用URI了,所以大家还是用URI吧,准没错!

HTTP relies upon the Uniform Resource Identifier (URI) standard [RFC3986] to indicate the target resource (Section 5.1) and relationships between resources.