一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
URL 是 URI 的子组(也包含 URN)。
基本上,一个 URI 是一个通用识别器,在那里一个 URL 指定一个位置,而一个 URN 指定一个名字。
其他回答
URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
URL 是 URI 的子组(也包含 URN)。
基本上,一个 URI 是一个通用识别器,在那里一个 URL 指定一个位置,而一个 URN 指定一个名字。
下面是我的简化:
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(名称),但然后有一个URL和URI之间很少的差异,而HTTP URI被用作名称空间,尽管它们实际上没有找到任何资源。
正如我所理解的那样,URI是某事的描述,按照接受的格式,可以定义某事或其位置的独特名称(识别)。
有两个基本子组:
URL,定义位置(特别是试图查看网页的浏览器)和URN,定义某事的独特名称。
我倾向于认为URN类似于GUID,它们只是一个标准化的方法来为事物提供独特的名称,就像在使用公司名称的名称空间声明中一样,它并不像在某个服务器上坐着的资源在某个地方相匹配于该文本线,它只是独特地识别某些东西。
我也倾向于完全避免URI的术语,并讨论事物只有在URL或URN的意义上,因为它会导致如此多的混乱。我们应该真正试图回答问题的人不是那么多的语法,但如何识别当遇到的术语是否有任何实际的差异在他们,这将改变对一个编程情况的方法。
如果我离开基地,请告诉我!
s3://www-example-com/index.html [图 1]
http://www.example.com/index.html [图 2]
在亚马逊的S3-US-West-2数据中心。
图 1 是 URI 图 1 是 URN 图 2 是 URI 图 2 是 URL 图 1 的 URL 是 http://www-example-com.s3-website-us-west-2.amazonaws.com/ 也是 http://www-example-com.s3.amazonaws.com/index.html 但不是 http://www-example-com.s3.amazonaws.com/ (没有数据中心和没有文件名是亚马逊 S3 太一般的)
推荐文章
- 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“期望失败。”