一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
URI 源于需要识别网络上的资源,以及其他互联网资源,如电子邮箱,以统一和一致的方式,因此,可以引入一个新的类型的 widget: URI 识别 widget 资源或使用 tel: URI 有网链接会导致电话通话进行,当被召唤时。
例如,URI:中:0E4FC272-5C02-11D9-B115-000A95B55BC8@stackoverflow.com 是一个 URN 识别在其“邮件 ID”字段中包含的电子邮件。
其他回答
URL
乌里
一个 URI 通过位置或名称识别一个资源,或者两者。 更常见的是,我们大多数人使用定义一个资源的位置的 URI. 事实上,一个 URI 可以通过名称和位置识别一个资源,在我看来导致了很多混乱。
URL 和 URI 的区别
一个 URI 是某些资源的标识,但一个 URL 给你具体的信息,以获得这个资源. 一个 URI 是一个 URL 和一个评论家指出,它现在被认为是错误的使用 URL 当描述应用程序. 一般来说,如果 URL 描述一个资源的位置和名称,使用的术语是 URI. 因为这通常是我们大多数人每天遇到的情况, URI 是
下面是我的简化:
URN:独一无二的资源名称,即“什么”(例如 urn:issn:1234-5678 ) 这个意思是独一无二的.. 因为在没有两个不同的文件可以有相同的 urn。
URL: “在哪里”找到它(例如 https://google.com/pub?issnid=1234-5678.. 或 ftp://somesite.com/doc8.pdf )
URI:可以是URN或URL,这种混乱的定义是由于W3C和IETF生产的RFC 3986。
URI的定义在过去的几年里改变了,所以对于大多数人来说是有意义的混淆。 但是,你现在可以放松的是,你可以提到 http://somesite.com/某些东西,无论是URL还是URI......你都会是正确的,无论如何(至少是时光,无论如何...)
简而言之:一个 URI 会识别,一个 URL 会识别和找到。
考虑到莎士比亚的游戏罗密欧和朱丽叶的具体版本,你在你的家庭网络上有一个数字副本。
您可以将文本定义为 urn:isbn:0-486-27557-4. 这将是一个 URI,但更具体的是一个 URN* 因为它命名文本。
您也可以将文本定义为 file://hostname/sharename/RomeoAndJuliet.pdf. 这也将是一个 URI,但更具体的是一个URL,因为它会找到文本。
* 统一资源名称
(请注意,我的例子是从维基百科调整的)
对于已经发表的答案,这里有一个Venn的图表来总结理论(从Prateek Joshi的美丽解释):
此分類上一篇
还有一个例子(也来自Prateek的网站):
此分類上一篇
我喜欢在思考URI时使用的另一个例子是XML文件的xmlns属性:
<rootElement xmlns:myPrefix="com.mycompany.mynode">
<myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>
在这种情况下,com.mycompany.mynode 将是一个独特识别“myPrefix”名称空间的 URI 对所有在我的 XML 文档中使用的元素。
推荐文章
- URL中的“#:~:text=”位置哈希值到底是什么?
- 什么是HTTP“主机”报头?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- 如何从URL获取参数与JSP
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- 从URI获取真实路径,Android奇巧新的存储访问框架
- URL从Java中的类路径加载资源
- 为什么说“HTTP是无状态协议”?
- 我需要HTTP GET请求的内容类型报头吗?
- 单击url会打开默认浏览器
- 我如何得到一个Flask请求的url的不同部分?
- 用JavaScript检测文本中的url
- 如何让Chrome允许混合内容?
- 正确的方式删除cookies服务器端
- REST DELETE真的是幂等的吗?