问题

人们谈论URL,URI和URN,好像它们是不同的东西,但它们看起来与肉眼相同。

它们之间有什么区别?

  最佳答案

RFC 3986 :

URI可以进一步归类为定位器、名称或两者。 “统一资源定位器”(URL)是指URI的子集 除了确定一种资源外,还提供了一种方法 通过描述其主要访问机制来定位资源 (例如,其网络"位置")。 (URN)历来被用来指联合国 “urn”方案 [RFC2141] ,需要保持全球唯一性 即使资源不复存在或变得持久 不可用,以及具有名称属性的任何其他 URI。

所以所有的 URL 都是 URI(实际上并不完全 — 参见下文),所有 URN 都是 URI — 但 URN 和 URL 是不同的,所以你不能说所有 URI 都是 URL。

编辑:我以前认为所有URL都是有效的URI,但根据评论:

不是“所有URL都是URI”.它取决于RFC的解释.例如,在Java中,URI解析器不喜欢[],这是因为规范说“不应该”而不是“不应该”.

因此,不幸的是,水进一步泥沙。

如果你还没有读过 Roger Pate的答案,我也建议这样做.

  相同标签的其他问题

httpurluriurnrfc3986