当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java URL和URN的区别用法及代码示例


URL 代表统一资源位置。 URL 包含协议、服务器名称或 IP 地址、端口号、文件名或目录名。 URL 是 URI 的子集,如下图所示,它说明了可用源的网络地址或位置。 URL 以用于访问资源的协议名称开头,然后是具体的资源位置。 URL 建立在域名服务 (DNS) 的基础上,以符号方式寻址主机,并使用 file-path-like 语法来标识给定主机上的特定资源。因此,将 URL 映射到物理资源非常简单,并且可以通过各种 Web 浏览器实现。

这里,统一与网络资源/network-resource的统一标识相关,即特定网络上托管的任何静态或动态文件。我们需要一种标准方法来通过其位置来识别特定文件或资源,该方法本质上包含有关如何使用位置来获取资源的信息。通常,我们将 URL 命名为网址。

示例:

XML 文件似乎没有任何与 ii 相关的样式信息,其文档树如下:

This 
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>wp-content/uploads/2021030515058/g.png</Key>
<RequestId>976QM4R3JWBBPE4Z</RequestId>
<HostId>
yQ/SHq/9wwvXszbY4pAQrZOk+3q6IexIpESeQelGcgX09MVMV6woZFMpaKbXXTrezQqb6HQ7h+4=
</HostId>
</Error>

从上面的XML文件我们可以得到一个大致的理解:

  1. HTTPS 是一个协议我们正在使用的。
  2. 'media.geeksforgeeks.org'是个服务器由于安全和维护组织隐私而拒绝访问的名称。
  3. '/wp-content/上传/2021030515058/'是个目录名g.png是个文件名.

现在讨论密切相关的第二个概念。

URN 代表统一资源名称。它是使用 URN 方案的 URI。 URL 通过给定名称空间中的名称(后跟冒号,后跟 namespace-specific 字符串)来标识 Web 资源/网络资源。 URN 并不意味着所识别资源的可用性。URN 是 location-independent 资源标识符,旨在轻松将其他命名空间映射到 URN 空间。

用法:

<URN> ::= "urn:" [NID] ":" [NSS]

Note: NID is a namespace identifier and NSS is a namespace specific string.

示例:

如果习惯在谷歌上搜索,该图像描绘了这一点

  1. URN a 统一资源名称。
  2. ISBN是一个 命名空间标识符。 ISBN用于通过书号来识别书籍,它是国际标准书号。
  3. 0451450523 是命名空间特定的字符串,即书号。

现在,在对 URL 和 URN 有足够的了解之后,让我们总结一下它们之间的主要区别,这些区别以下面的表格形式列出:

URL URN
URL也称为统一资源定位符 URN也称为统一资源名称
它使用位置从网络获取资源。 它用于按名称获取资源。
URL 包含协议、IP 地址、端口号、目录名、主机等。 它以前缀 urn 开头,后跟命名空间标识符,最后是 namespace-specific 字符串。
它指向万维网上的资源。 它也是 URI 的子集。
URL 的定义不能用于推断 getRequestURI() 和 getRequestURL() 方法的行为。 它仅标识资源,但不指示其位置或如何访问它。

相关用法


注:本文由纯净天空筛选整理自amnindersingh1414大神的英文原创作品 Difference Between URL and URN in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。