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文件我们可以得到一个大致的理解:
- HTTPS 是一个协议我们正在使用的。
- 'media.geeksforgeeks.org'是个服务器由于安全和维护组织隐私而拒绝访问的名称。
- '/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.
示例:
如果习惯在谷歌上搜索,该图像描绘了这一点
- URN是 a 统一资源名称。
- ISBN是一个 命名空间标识符。 ISBN用于通过书号来识别书籍,它是国际标准书号。
- 0451450523 是命名空间特定的字符串,即书号。
现在,在对 URL 和 URN 有足够的了解之后,让我们总结一下它们之间的主要区别,这些区别以下面的表格形式列出:
URL | URN |
---|---|
URL也称为统一资源定位符 | URN也称为统一资源名称 |
它使用位置从网络获取资源。 | 它用于按名称获取资源。 |
URL 包含协议、IP 地址、端口号、目录名、主机等。 | 它以前缀 urn 开头,后跟命名空间标识符,最后是 namespace-specific 字符串。 |
它指向万维网上的资源。 | 它也是 URI 的子集。 |
URL 的定义不能用于推断 getRequestURI() 和 getRequestURL() 方法的行为。 | 它仅标识资源,但不指示其位置或如何访问它。 |
相关用法
- Java URL getAuthority()用法及代码示例
- Java URL getDefaultPort()用法及代码示例
- Java URL getFile()用法及代码示例
- Java URL getHost()用法及代码示例
- Java URL getPath()用法及代码示例
- Java URL getPort()用法及代码示例
- Java URL getProtocol()用法及代码示例
- Java URL getQuery()用法及代码示例
- Java URL getRef()用法及代码示例
- Java URL getUserInfo()用法及代码示例
- Java URL sameFile()用法及代码示例
- Java URL toExternalForm()用法及代码示例
- Java URL toURI()用法及代码示例
- Java URL Class用法及代码示例
- Java URI getAuthority()用法及代码示例
- Java URI getHost()用法及代码示例
- Java URI getPath()用法及代码示例
- Java URI getQuery()用法及代码示例
- Java URI getRawAuthority()用法及代码示例
- Java URI getRawPath()用法及代码示例
- Java URI getRawQuery()用法及代码示例
- Java URI getRawUserInfo()用法及代码示例
- Java URI getUserInfo()用法及代码示例
- Java URI和URN的区别用法及代码示例
- Java UUID randomUUID()用法及代码示例
注:本文由纯净天空筛选整理自amnindersingh1414大神的英文原创作品 Difference Between URL and URN in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。