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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。