亚洲日本永久一区二区_国产精品k频道网址导航_首页aⅴ色老汉中文字幕_免费深夜全片观看_9久久9毛片又大又硬又粗_国产精品成亚洲电影_日韩不用播放器的av_欧美特色特黄视频

圖解URL、URI和URN 區別

圖解URL、URI和URN 區別

作為一名開發人員,特別的前端開發人員,已經無數次的聽到過 URLURI,對于 URN 可能聽過的要少點,那么它們之間有什么區別呢?本文帶大家鞏固一下基本概念。

什么是URL?

統一資源定位符Uniform Resource Locator,縮寫:URL),是對資源的引用和訪問該資源的方法。俗稱網址,就是瀏覽器地址欄里面的。

瀏覽器地址欄

一個 URL 由以下不同的部分組成:

  • 協議:通常是 https 或 http,一種告訴瀏覽器或者設備如何訪問資源的方法,當然還有其他的協議,如 ftpmailto 或者 file
  • 接下來是 ://
  • 主機名:表示 IP 地址的注冊名稱(域名) 或 IP 地址,用于識別連接到網絡的設備的數字標識符。
  • 后面是可選的端口好,前面是冒號
  • 路徑:可以引用文件系統路徑,通常作為一個代碼段使用。
  • 參數:以問號開頭的可選查詢參數,其中多個參數用 & 連接
  • hash:用于為頁面上的標題提供快速鏈接,如錨點鏈接。

上面是 URL 組成部份的簡介,為了更加直觀,如下圖所示:

URL 組成部份

什么是URI?

上面介紹了 URL 是如何構成的,現在來介紹一下什么是 URI,與 URL 類似,統一資源標志符Uniform Resource Identifier,縮寫:URI),提供了一種識別資源的方法。但與 URL 不同的是,URI 不提供定位所述資源的方法。

URI 的最常見的形式是統一資源定位符(URL),經常指定為非正式的網址。由此,可以看出 URIURL 的超集,并且每個 URL 本質上也是一個 URI

什么是URN?

統一資源名稱(Uniform Resource Name,縮寫:URN)是統一資源標識(URI)的歷史名字,使用 urn: 作為 URI 方案。

URN 也是 URI 的子集。URN 的一個最好的例子是 ISBN 號,它被用來唯一地識別一本書。URNURL 完全不同,因為它不包含任何協議。

URL和URI的差異

在前面《JavaScript中的Set數據操作》中介紹過使用 Set 求子集,其實URLURI的差異就是一個子集的關系,如下圖:

URL和URI關系

實際上,URLURI的一種類型,它包括關于如何訪問資源的信息。在 RFC3986 中的這樣一句話:

術語“統一資源定位器”(URL)指的是 URI 的子集,除了標識資源外,它還通過描述資源的主要訪問機制提供了一種定位資源的方法。

URI、URN、URL

從集合的角度來考慮,URN 和 URL 都是 URI 的子集,如圖所示:

URN 和 URL 都是 URI 的子集

下面以一個網址為例,清晰的展示 URIURNURL 三者的內容,可以更加直觀的反應三者的關系:

URN 、 URL 和 URI 的關系

從概念上總結三者的關系的話,如圖:

url urn uri關系

URL :指定位置的 URI
URN :指定名稱的 URI
URI :同時指定名稱和位置的 URI

總結

作為 Web 開發人員,日常有必要去了解并熟悉一些常用的專業術語及縮寫,對于這些術語設計的技術概念理解越深,是有助于提升開發技能。

URLURNURI