📜  JavaURL、URI 和 URN 的区别

📅  最后修改于: 2021-09-11 03:32:08             🧑  作者: Mango

URI代表统一资源标识符。URI 是用于标识万维网上资源位置或名称或两者的字符序列。 URI 可以进一步分类为定位符、名称或两者。

URI 的语法:以方案开头,后跟冒号字符,然后是方案特定的部分。

最流行的 URI 方案是 HTTP、HTTPS 和 FTP。

URL代表统一资源位置。URL 是 URI 的一个子集,它描述了资源可用的网络地址或位置。URL 以用于访问资源的协议名称开头,然后是特定的资源位置。 URL 建立在域名服务 (DNS) 之上,以符号方式寻址主机,并使用类似文件路径的语法来标识给定主机上的特定资源。出于这个原因,将 URL 映射到物理资源很简单,并且由各种 Web 浏览器实现。

URN代表统一资源名称。它是一个使用 URN 方案的 URI。

“urn”方案:后跟命名空间标识符,后跟冒号,后跟命名空间特定字符串

URN 并不暗示所识别资源的可用性。URN 是与位置无关的资源标识符,旨在使将其他命名空间映射到 URN 空间变得容易。

No URI  URL URN
1 URI stands for Uniform Resource Identifier URL stands for Uniform Resource Location URN stands for Uniform Resource Name
2 URI is a superset of URL & URN URL is a subset of the Uniform Resource URN  is a subset of the Uniform Resource. 
3 It used to identify a resource on the internet either by location or a name or both It is used to identify a resource on the internet either by location  It uniquely identifies the resource by name
4 URI is not always a URL All URLs are URIs All URNs are URIs
5 URI includes components like scheme, authority, path, query, etc. URL includes protocol,domain,path,hash,query,string etc URN does not include any component
6

Example:

https://www.geeksforgeeks.org/setting-environment-java/?ref=lbp

Example:

https%3A%2F%2Fwww.geeksforgeeks.org%2Fsetting-environment-java%2F%3Fref%3Dlbp

Example:

setting up the environment in java

下图显示了 URL、URI、URN 之间的关系: