什么是URI,URL以及URN,你真的理解了嗎。


先舉一個例子,讓大家對這三個名詞又一個基本的概念:

1⃣️ ftp://ftp.is.co.za/rfc/rfc1808.txt

2⃣️ http://www.cnblogs.com/nods/p/8985322.html#position

上面列舉了十分常見的兩個網絡地址,這兩個地址都是 URI。

其中的 ftp://ftp.is.co.za/rfc/rfc1808.txt 和 http://www.cnblogs.com/nods/p/8985322.html 都是 URL。

其中的 ftp.is.co.za/rfc/rfc1808.txt 和 www.cnblogs.com/nods/p/8985322.html#position 是URN。

對於 2⃣️ 來說:

http:// 是協議 ( 文章最下方給出了常用的幾種模式或協議 )。

www.cnblogs.com/nods/p/8985322.html 是網絡資源的具體位置。

#position 則是資源。

那么簡單的理解就是 URL 告訴你資源文件在網絡上的具體位置,URN 告訴你資源在文件的什么地方。

URL 和 URN 都是 URI 的子集,以上的解釋是十分簡單通俗的解釋。上面兩個網絡地址,都叫做 URI, 但URI 但表現形式並不單單只有上述兩種,還有很多其他但形式。

URI 英文全稱為 Uniform Resource Identifier(統一資源標識符),它是一個標准,而非定義具體但表現方式。

URL Uniform Resource Locator(統一資源定位符),它實際上是一個資源標識符,但更具體的,它定位了資源的位置。

URN Uniform Resource Name(統一資源命名),作為特定內容的唯一名稱使用的,與當前資源的所在地無關。使用URN,就可以將資源四處遷移,而不用擔心遷移后無法訪問。P2P下載中使用的磁力鏈接是URN的一種實現,它可以持久化的標識一個BT資源,資源分布式的存儲在P2P網絡中,無需中心服務器用戶即可找到並下載它。

關於這三者有專門的出處:

這三個縮略詞是Tim Berners-Lee在一篇名為 RFC 3986: Uniform Resource Identifier (URI): Generic Syntax 的文檔中定義的互聯網標准追蹤協議。

也可在 https://en.wikipedia.org/wiki/Uniform_Resource_Identifier 找到相關的來龍去脈。

 

通過下面的例子(源自 Wikipedia),我們可以很好地理解URN 和 URL之間的區別。如果是一個人,我們會想到他的姓名和住址。

URL類似於住址,它告訴你一種尋找目標的方式(在這個例子中,是通過街道地址找到一個人)。要知道,上述定義同時也是一個URI。

相對地,我們可以把一個人的名字看作是URN;因此可以用URN來唯一標識一個實體。由於可能存在同名(姓氏也相同)的情況,所以更准確地說,人名這個例子並不是十分恰當。更為恰當的是書籍的ISBN碼和產品在系統內的序列號,盡管沒有告訴你用什么方式或者到什么地方去找到目標,但是你有足夠的信息來檢索到它。

 

對於 web 前端來說,着重了解 URL,而其中的網絡協議則是重中之重。

最常見的模式和協議如下:

  • http-超文本傳輸協議資源;
  • https-用安全套接字層傳送的超文本傳輸協議;
  • ftp-文件傳輸協議;
  • mailto-電子郵件地址;
  • file-當地電腦或網上分享的文件;
  • telnet-telnet協議;
  • idap-輕型目錄訪問協議搜索;
  • news-Usenet新聞組;
  • gopher-Gopher協議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM