不是 URL 的 URI 示例?

问题描述 投票:0回答:7

已经向我解释过很多次了,所有 URL 都是 URI,但并非所有 URI 都是 URL。谁能举一个 URI 但不是 URL 的例子吗?

url uri web-standards
7个回答
28
投票

这里盗取的示例(其中也有差异的描述):

URL     http://www.pierobon.org/iis/review1.htm
URN     www.pierobon.org/iis/review1.htm#one
URI     http://www.pierobon.org/iis/review1.htm.html#one

12
投票

5
投票

统一资源名称 (URN) 是一种 URI,它通过特定命名空间中的名称来标识资源。 URN 可用于谈论资源,而不暗示其位置或如何访问它。例如,URN urn:isbn:0-395-36341-1 是一个 URI

来自:维基百科:http://en.wikipedia.org/wiki/Uniform_Resource_Identifier


4
投票

XML 模式通常用 URI 进行标识,虽然它们的格式可能类似,但不能保证其中存在任何内容,因为它不是 URL。

如果必须验证 XML 文件,则需要识别正确的 XML 架构的能力。在成功的验证有意义之前,必须在内容和模式作者之间共享一种识别方法。 URI 和其他任何东西一样可以很好地满足这一需求。请记住,使用 XML 文件不一定需要架构。因此,它不需要是普遍可定位或可用的,它只需要是可识别的。 URI 的语义避免了资源必须位于“此处”的暗示,就像 URL 的情况一样,并且有充分的理由。这样的细节与识别任务无关。

架构发布者通常会根据他们拥有的 URL 来构建 URI。我可以想象这样做的原因有很多,但其中之一是,它有助于避免没有中介的命名冲突。当使用这样的约定时,很难抗拒将定义托管在 URI 所指向的位置(如果它是 URL)。虽然通过已知手段是必要的,但我相信这样做标志着一项值得赞赏的努力,并且是良好信息架构的一个例子,但这一事实仍然与 URI 满足的需求无关。


4
投票

既不是 URL 也不是 URN 的 URI 示例是数据 URI,例如: 数据:,Hello%20World 它不是 URL 也不是 URN,因为 URI 包含数据。它既不命名它,也不告诉您如何通过网络找到它。

取自这里:https://webmasters.stackexchange.com/questions/19101/what-is-the-difference- Between-a-uri-and-a-url

我相信 TofuBeer 的答案(迄今为止投票最多)是错误的。


3
投票

为了测试单元测试中失败的异常(涵盖 Java 中的 URI ←→ URL 转换),我使用以下示例:

  • "_ "
    — 来自
    URI
    String
  • 无效
  • "data://valid-uri"
    — 有效
    URI
    ,但无效,格式错误
    URL
    MalformedURLException
    URI#toURL
    抛出)。
  • "valid-uri"
    — 有效
    URI
    ,但无效、非绝对
    URL
    IllegalArgumentException
    URI#toURL
    抛出)。
  • "http://   _"
    — 有效
    URL
    ,但无效,格式错误
    URI
    URISyntaxException
    URL#toURI
    抛出)。

这可能不是 RFC 规范的完美答案,但这些是 Java 的工作示例。


1
投票

常见的情况是 URN,它是格式为

urn:namespace-id:resource-id
的 URI。根据维基百科:

URN 于 1997 年在 RFC 2141 中定义,旨在充当 持久的、与位置无关的标识符,允许简单的 将命名空间映射到单个 URN 命名空间。的存在 这样的 URI 并不意味着所识别资源的可用性,而是 此类 URI 需要保持全局唯一性和持久性,即使 当资源不再存在或变得不可用时。

两种类型的资源引用(URL 和 URN)后来在 URI 的概念下合并,但它们仍然被认为服务于不同的目的(强调我的):

统一资源名称(URN)可以与人名进行比较, 而统一资源定位器(URL)可以与他们的街道进行比较 地址。换句话说,URN 标识一个项目,URL 提供一个 找到方法它。

© www.soinside.com 2019 - 2024. All rights reserved.