一个 URL、一个 URI 和一个 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问题的结论
其他回答
URN 格式 : urn:[namespace identifier]:[namespace specific string] urn: and : stand for themselves. 示例: urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 urn:ISSN:0167-6423 urn:isbn:096139210x Amazon 资源名称(ARNs)是一个独特的识别 AWS 资源。
URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
URL 是 URI 的子组(也包含 URN)。
基本上,一个 URI 是一个通用识别器,在那里一个 URL 指定一个位置,而一个 URN 指定一个名字。
這些是幾個非常好寫的,但很長的答案. 以下是 CodeIgniter 所涉及的差異:
地址: http://example.com/some/page.html
URI - /some/page.html
简单地说,URL是识别任何资源的完整方式,并且可以有不同的协议,如FTP、HTTP、SCP等。
URI 是当前域的资源,因此需要找到更少的信息。
在每个例子中,CodeIgniter使用这个词URL或URI,这是他们正在谈论的差异,尽管在网格的格式中,它不是100%正确的。
URI类似于URL和URN的超级类,维基百科有一个关于它们的好文章,链接到正确的RFC集。
由于难以清楚地区分URI和URL,我记得W3C不会再区分URI和URL(http://www.w3.org/Addressing/)。
推荐文章
- 什么是HTTP“主机”报头?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- 如何从URL获取参数与JSP
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- 从URI获取真实路径,Android奇巧新的存储访问框架
- URL从Java中的类路径加载资源
- 为什么说“HTTP是无状态协议”?
- 我需要HTTP GET请求的内容类型报头吗?
- 单击url会打开默认浏览器
- 我如何得到一个Flask请求的url的不同部分?
- 用JavaScript检测文本中的url
- 如何让Chrome允许混合内容?
- 正确的方式删除cookies服务器端
- REST DELETE真的是幂等的吗?
- 如何使用jQuery从URL中获得锚?