一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
正如我所理解的那样,URI是某事的描述,按照接受的格式,可以定义某事或其位置的独特名称(识别)。
有两个基本子组:
URL,定义位置(特别是试图查看网页的浏览器)和URN,定义某事的独特名称。
我倾向于认为URN类似于GUID,它们只是一个标准化的方法来为事物提供独特的名称,就像在使用公司名称的名称空间声明中一样,它并不像在某个服务器上坐着的资源在某个地方相匹配于该文本线,它只是独特地识别某些东西。
我也倾向于完全避免URI的术语,并讨论事物只有在URL或URN的意义上,因为它会导致如此多的混乱。我们应该真正试图回答问题的人不是那么多的语法,但如何识别当遇到的术语是否有任何实际的差异在他们,这将改变对一个编程情况的方法。
如果我离开基地,请告诉我!
其他回答
URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
URL 是 URI 的子组(也包含 URN)。
基本上,一个 URI 是一个通用识别器,在那里一个 URL 指定一个位置,而一个 URN 指定一个名字。
最好的(技术)总结 imo 是这个一个
统一资源识别器是识别一个抽象或物理资源的字符的紧凑序列. 字符集仅限于US-ASCII 排除一些保留字符. 允许字符集之外的字符可以使用百分比编码来代表。
URL
IRI is a superset of URI (IRI ⊃ URI)
URI is a superset of URL (URI ⊃ URL)
URI is a superset of URN (URI ⊃ URN)
URL and URN are disjoint (URL ∩ URN = ∅)
关于Semantic Web问题的结论
维基百科将提供您所需的所有信息。 引用来自 http://en.wikipedia.org/wiki/URI:
URL 是一個 URI,除了識別資源之外,還提供行動或獲得資源的代表性的手段,描述其主要接入機制或網路「位置」。
易于解释:
假设下列
URI 是你的名字
URL 是您的地址,您的姓名在订单中与您沟通。
我的名字是 Loyola Loyola 是 URI 我的地址是 TN, Chennai 600001.
TN, Chennai 600 001, Loyola 是 URL
希望你明白,
让我们来看看一个准确的例子。
HTTP://www.google.com/fistpage.html
在上述情况下,您可以使用下面的 http://www.google.com/fistpage.html(URL)联系一个名为 firstpage.html(URI)的页面。
因此,URI是URL的子组,而不是相反。
从 RFC 3986:
“Uniform Resource Locator”(URL)是指URI的子组,除了识别资源之外,它还提供了通过描述其主要访问机制(例如,其网络的“位置”)来定位资源的手段。
因此,所有URL都是URI,所有URL都是URI,但URL和URL都是不同的,所以你不能说所有URL都是URL。
如果你还没有阅读罗杰·帕特的答案,我会建议你这样做。
推荐文章
- URL中的“#:~:text=”位置哈希值到底是什么?
- 什么是HTTP“主机”报头?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- 如何从URL获取参数与JSP
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- 从URI获取真实路径,Android奇巧新的存储访问框架
- URL从Java中的类路径加载资源
- 为什么说“HTTP是无状态协议”?
- 我需要HTTP GET请求的内容类型报头吗?
- 单击url会打开默认浏览器
- 我如何得到一个Flask请求的url的不同部分?
- 用JavaScript检测文本中的url
- 如何让Chrome允许混合内容?
- 正确的方式删除cookies服务器端
- REST DELETE真的是幂等的吗?