一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
不要忘记 URNs. URIs 和 URLs 都是 URNs. URLs 有位置:
URI: foo
URL: http://some.domain.com/foo
URL: http://some.domain.com:8080/foo
URL: ftp://some.domain.com/foo
他们都是URN。
其他回答
我喜欢在思考URI时使用的另一个例子是XML文件的xmlns属性:
<rootElement xmlns:myPrefix="com.mycompany.mynode">
<myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>
在这种情况下,com.mycompany.mynode 将是一个独特识别“myPrefix”名称空间的 URI 对所有在我的 XML 文档中使用的元素。
对于已经发表的答案,这里有一个Venn的图表来总结理论(从Prateek Joshi的美丽解释):
此分類上一篇
还有一个例子(也来自Prateek的网站):
此分類上一篇
此分類上一篇
URI、URL、URN
如上图所示,这里有三个不同的组成部分,通常最好在讨论这些问题时去源头,所以这里是由Tim Berners-Lee, et. al.在RFC 3986: Uniform Resource Identifier(URI): Generic Syntax:
统一资源识别器(URI)是识别一个抽象或物理资源的字符的微型序列,URI可以进一步分类为一个位置,一个名称,或两者。
URL - 统一资源探测器
包含关于如何从其位置获取资源的信息,例如:
URN - 统一资源名称
URC - 统一资源引用
经常提出的问题
我不知道,但现代的网页浏览器正在实施数据URI系统。
URL 和 URI 之间的区别与它是否有查询参数有什么关系?
URL 和 URI 之间的区别与哪些字符有任何关系吗?
没有. URL 被定义为一个严格的 URI 子组. 如果一个字符允许一个字符在一个 URL 但不是一个 URI,有一个错误在一个字符. 特征走到很好的细节,关于哪些字符被允许在哪些部分的 URL 和 URI. 某些字符只能允许在 URL 的某些部分,但字符本身不是 URL 和 URI 的区别。
一个URI可以是URL和URN吗?
此分類上一篇
根据 RFC 3986, URI 由以下组成:
scheme://authority/path?query
URI 描述了在服务器(权威)上访问资源(路径)或应用程序(请求)的协议。
此分類上一篇
所有 URL 都是 URI,所有 URN 都是 URI,但所有 URI 不是 URL。
请参见更多详细信息:
维基百科
推荐文章
- URL从Java中的类路径加载资源
- 为什么说“HTTP是无状态协议”?
- 我需要HTTP GET请求的内容类型报头吗?
- 单击url会打开默认浏览器
- 我如何得到一个Flask请求的url的不同部分?
- 用JavaScript检测文本中的url
- 如何让Chrome允许混合内容?
- 正确的方式删除cookies服务器端
- REST DELETE真的是幂等的吗?
- 如何使用jQuery从URL中获得锚?
- 了解Chrome网络日志“停滞”状态
- 用户代理字符串可以有多大?
- 什么是接受* HTTP报头q=0.5 ?
- HTTP状态码200(缓存)和状态码304之间有什么区别?
- HTTP POST返回错误:417“期望失败。”