1
aveline 2013-06-08 02:21:06 +08:00
http://stackoverflow.com/questions/176264/whats-the-difference-between-a-uri-and-a-url
个人理解是 URL 要有 Schema,URI 不需要。 |
2
Sunyanzi 2013-06-08 02:21:53 +08:00 1
|
4
xavierskip 2013-06-08 02:40:41 +08:00
翻了下http权威指南。
一个是标示符(Uniform Resource Identifier)。 一个是定位符( Uniform Resource Locator)。 URI 有两种形式,为URL和URN。 几乎所有的URI都是URL 我理解就是只有URN的存在,这两个的区别这种问题才有意义。 我从没见过URN。所以管他呢! |
5
yyfearth 2013-06-08 09:10:59 +08:00
我记得URI包括URL,但是范围更广些,不过大多数情况下都是URL用的多
|
6
Loerise 2013-06-08 09:26:35 +08:00
|
7
soli 2013-06-08 09:30:11 +08:00 3
URI 唯一标识某一个资源;URL 唯一定位某一个资源。
"Livid@V2EX" 这个字符串能唯一标识你这个人,应该是 URI,但通过这个字符串找不到你,所以应该不是 URL; "某国某区某市某街道某社区某楼某房间的某人" 这个字符串能唯一定位你这个人的位置,应该是 URL。 另外,唯一定位你这个人了,也就能唯一标识你这个人了。 所以,URL ⊂ URI 。 |
8
rrfeng 2013-06-08 09:35:52 +08:00
URI Standard (RFC3986) 在 1.1.3 小节“URI, URL, and URN”中澄清了这一区别:
URI 可以进一步分为定位器、名称,或者二者兼具。术语“Uniform Resource Locator” (URL) 涉及的是 URI 的子集,除识别资源外,它还通过描述其最初访问机制(比如它的网络“位置”)来提供定位资源的方法。 术语“Uniform Resource Name” (URN) 在历史上曾用于引用“urn”方案 [RFC2141] 下的 URI,这个 URI 需要是全球惟一的,并且在资源不存在或不再可用时依然保持不变,对于其他任何拥有名称的一些属性的 URI,都需要使用这样的 URI。 对于单独的方案,没有必要将其分为仅仅是一个 “名称”或者是一个“定位器”。 来自任意特定方案的 URI 实例可能有名称或定位器的特征,或两者兼而有之, 这通常取决于标识符分配中的持久性和命名机构对其关注程度, 而不取决于其他方案的质量。未来的规范和相关的文档应当使用通用术语“URI”,而不是使用有更多限制的条目“URL”和“URN” [RFC3305]。 |
9
davepkxxx 2013-06-08 10:17:11 +08:00 1
url: http://www.v2ex.com/t/71664
uri: /t/71664 个人认为是绝对定位和相对定位的区别,这点从JavaEE中HttpServletRequest的getRequestURI方法可以看出。 |
10
clowwindy 2013-06-08 11:06:50 +08:00
http://v2ex.com/ 带主机地址的属于 URL
电驴连接、BT 磁力链接,或者 urn:ietf:rfc:2648 这种跟资源存在的主机无关的标识符属于 URN N = name L = location I = identifier URI = URL + URN |
11
hz251 2013-06-08 11:41:47 +08:00
URI = URL + URN
|