當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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