URL和URI

url+urn=uri

URL 統一資源定位符

URL 英文全稱爲 Uniform Resource Locator,中文爲翻譯“統一資源定位符”,是Internet上資源的地址,可以定義爲引用地址的字符串,用於指示資源的位置以及用於訪問它的協議。

URL是在網絡上定位資源的最普遍使用的方式,它提供了一種通過描述其網絡位置或主要訪問機制來檢索物理位置的表示的方法。

URL中描述了協議,該URL用於檢索資源和資源名稱。如果資源是Web類型資源,則URL在開頭包含http / https。同樣,如果資源是文件,則以ftp開頭,如果資源是電子郵件地址,則以mailto開頭。

URL包含以下信息:

  1. 用於訪問資源的協議
  2. 服務器的位置(無論是通過IP地址還是域名)
  3. 服務器上的端口號(可選)
  4. 資源在服務器目錄結構中的位置
  5. 片段標識符(可選)

例:

https://summer.blog.csdn.net/

如上圖所示,其中第一部分用於協議,部分的其餘部分用於由域名或程序名稱組成的資源。

URN 統一資源名稱

URN 英文全稱爲 Uniform Resource Name,中文翻譯爲“統一資源名稱”,這是用於表示唯一一個實體的標識符,但是有不能給出實體的位置,用於標識持久性 Internet 資源,URN 可以提供一種機制,用於查找和檢索定義特定命名空間的架構文件。儘管普通的 URL 可以提供類似的功能,但是在這方面,URN 更加強大並且更容易管理,因爲 URN 可以引用多個 URL。舉個最簡單的例子大家就明白了,那就是:磁力鏈接,它就是 URN 的一種實現,可以持久化的標識一個 BT 資源,資源分佈式的存儲在 P2P 網絡中,無需中心服務器用戶即可找到並下載它。

URI 統一資源標識符

URI 英文全稱爲 Uniform Resource Identifier,中文翻譯爲“統一資源標識符”是標識邏輯或物理資源的字符序列,與URL類似,也是一串字符。通過使用位置,名稱或兩者來標識Internet上的資源;它允許統一識別資源。
uri=url+urn

有兩種類型的URI,==統一資源標識符(URL)==和 統一資源名稱(URN)

任何URI的通用形式都是:

scheme:[// [user:password @] host [:port]] [/] path [?查詢] [#片段]

Scheme(方案):該方案列出了具體語法和URI的任何相關協議。方案不區分大小寫,後跟冒號。理想情況下,URI方案應該在互聯網號碼分配機構(IANA)註冊,但也可以使用非註冊方案。

權限組件:權限組件由多個部分組成:可選的身份驗證部分,主機(由註冊名稱或IP地址組成) , 以及可選的端口號。身份驗證部分包含用戶名和密碼,用冒號分隔,後跟at(@)符號。在@之後是主機名,然後是冒號,然後是一個端口號。請務必注意,IPv4地址必須採用點十進制表示法,並且IPv6地址必須括在括號中。

查詢(可選):查詢包含一串非分層數據。雖然語法沒有明確定義,但通常是由分隔符分隔的屬性值對序列,例如&符號或分號。查詢通過問號與前一部分分開。

片段(可選):片段包含片段標識符,該標識符爲輔助資源提供方向。

聯繫與區別

“URI可以分爲URL,URN或同時具備locators(url) 和names(urn)特性的一個東西。”

  • 首先,URL是URI的一種。但也不是所有的URI都是URL哦,就好像蝴蝶都會飛,但會飛的可不都是蝴蝶啊,你讓蒼蠅怎麼想!
  • 讓URI能成爲URL的當然就是那個“訪問機制”,“網絡位置”。e.g. http:// or ftp://.。
  • URN是唯一標識的一部分,就是一個特殊的名字。

下面就來看看例子吧,當來也是來自權威的RFC:

ftp://ftp.is.co.za/rfc/rfc1808.txt (also a URL because of the protocol)
http://www.ietf.org/rfc/rfc2396.txt (also a URL because of the protocol)
ldap://[2001:db8::7]/c=GB?objectClass?one (also a URL because of the protocol)
mailto:[email protected] (also a URL because of the protocol)
news:comp.infosystems.www.servers.unix (also a URL because of the protocol)
tel:+1-816-555-1212
telnet://192.0.2.16:80/ (also a URL because of the protocol)
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

這些全都是URI, 其中有些是URL. 哪些? 就是那些提供了訪問機制的.

總結

下面到了回答問題的時候了:
當我們討論web地址的時候,URI和URL那個更準確?

我們經常使用的URI不是嚴格技術意義上的URL。例如:你需要的文件在files.hp.com. 這是URI,但不是URL–系統可能會對很多協議和端口都做出正確的反應。

你去http://files.hp.com 和ftp://files.hp.com.可能得到完全不同的內容。這種情況可能更加普遍,想想不同谷歌域名上的不同服務啊。

結語
If you don’t mind being “that guy”, URI is probably the more accurate term to use. But if you are in the linguist / “use what’s understood” camp, feel free to go with URL.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章