URL、URN、URI的區別?


URL、URN、URI區別

既然Web應用程序的文件等資源是放在服務器上,而服務器是因特網(Internet)上的主機,當然必須要有個方法,告訴瀏覽器到哪里取得文件等資源。通常會聽到有人這么說:“你要指定URL”,偶爾會聽到有人說:“你要指定URI”。那么到底什么是URL、URI?甚至你還聽過URN。首先,三個名稱都是縮寫,其全名分別為:

  • URL:Uniform Resource Locator
  • URN:Uniform Resource Name
  • URI:Uniform Resource Identifier

從歷史的角度來看,URL的標准最先出現,早期U代表Universal(萬用),標准化之后代表着Uniform(統一)。正如名稱所指出,URL的主要目的,是一文字方式來說明因特網上的資源如何獲得。一般而言,URL的主要格式為:

<協議>:<特定協議部分>

協議(scheme)指定了以何種方式取得資源。一些協議名的例子有:

  • ftp(文件傳輸協議,File Transfer Protocol)
  • http(超文本傳輸協議,Hypertext Transfer Protocol)
  • mailto(電子郵件)
  • file(特定主機文件名)

協議之后跟隨冒號,特定協議部分的格式則為:

//<用戶>:<密碼>@<主機>:<端口號>/<路徑>

舉例來說,若資源放置在HTTP服務器上,如圖1.2所示:

 

若主機名為 openhome.cc,要以HTTP協議取得 Gossip 目錄中的 index.html文件,端口號 8080,則必須使用以下URL(如圖 1.3所示):

http://openhome.cc:8080/Gossip/index.html

 

又假設想取得計算機文件系統中 C:\workspace 下的jdbc.pdf 文件,則可以指定如下URL格式:

file://C:/workspace/jdbc.pdf

簡而言之,URL代表資源的地址信息,URN則代表某個資源獨一無二的名稱。舉個例子來說,“JSP&Servlet學習筆記(第2版)”的國家標准書號(International Standard Book Number,ISBN)為 ISBN 978-7-302-28366-9,這就是URN的一個例子。

由於URLURN的目的,都是用來標識某個資源,后來的標准指定了URI,而URLURN成為URI的子集。在一些標准機構,如W3C(World Wide Web Consortium)文件中,后來就也多使用URI這個名詞,不過許多人已習慣用URL,所以URL這個名詞仍廣為使用,程序員口語交談也多見使用URL這個舊稱。

 

如果想對URL、URI 與 URN 的歷史演進與標准發布作更多的了解,可以參考Wikipedia(http://www.wikipedia.org/)的Uniform Resource Identifier:

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier


免責聲明!

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



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