URN,URL和URI

基本概念:

URI = Universal Resource Identifier 統一資源標誌符
URL = Universal Resource Locator 統一資源定位符
URN = Universal Resource Name 統一資源名稱

概念圖


2019-03-18_180414.png


URI一般由三部分組成:

一、主機名

存放資源的自身的名稱,由路徑表示。

參考下面的URI,它符合當前的RFC4395規範:協議名稱://域名.根域名/目錄/文件名.後綴

例如http://b.c/d/e.f (假設b.c是一個可用的域名,e.f是一個標準的文件)

這個URI是這樣的:這是一個可通過HTTP協議訪問的資源,位於主機b.c上,通過URI中的字符串“/d”訪問主機上的“d”文件夾,通過“e.f”請求訪問主機上“/d/e.f”這個文件。

這是URI的另一個例子,指向一個用戶的郵箱:mailto:名稱@域名

注:大多數讀者可能熟悉"URL",而不是URI。URL是URI命名機制的一個子集。

二、標誌符

有的URI指向一個資源的內部。 這種URI以"#"結束,並跟着一個anchor標誌符(稱爲片段標誌符)。例如,下面是一個指向section_2的URI:

協議://域名/目錄/文件#片段標示符(例如:/a/b.php#a)

三、相對URI

相對URI不包含任何命名規範信息。它的路徑通常指同一臺機器上的資源。相對URI可能含有相對路徑(如,“..”表示上一層路徑),還可能包含片段標誌符。

URI,URL和URN之間的關係

URI可被視爲定位符(URL),名稱(URN)或兩者兼備其中,其中URL,URN是URI的子集


URL的格式由下列三部分組成:

第一部分是協議(或稱爲服務方式);

第二部分是存有該資源的主機IP地址(有時也包括端口號);

第三部分是主機資源的具體地址,如目錄和文件名等。


URN

統一資源名(URN)如同一個人的名稱,而統一資源定位符(URL)代表一個人的住址。換言之,URN定義某事物的身份,而URL提供查找該事物的方法。URN僅用於命名,而不指定地址。


區別

Web上地址的基本形式是URI,它代表統一資源標識符。

URL:目前URI的最普遍形式就是無處不在的URL或統一資源定位器

URN:URL的一種更新形式,統一資源名稱(URN, Uniform Resource Name)不依賴於位置,並且有可能減少失效連接的個數。但是其流行還需假以時日,因爲它需要更精密軟件的支持。

URI是以某種統一的(標準化的)方式標識資源的簡單字符串。

典型情況下,這種字符串以scheme(命名URI的名字空間的標識符——一組相關的名稱)開頭,語法如下:

[scheme:] scheme-specific-part

URI以scheme和冒號開頭。Scheme用大寫/小寫字母開頭,後面爲空或者跟着更多的大寫/小寫字母、數字、加號、減號和點號。冒號把scheme與scheme-specific-part分開了,並且scheme-specific-part的語法和語義(意思)由URI的名字空間決定。如下面的例子:

http://域名,其中http是scheme,//域名 是scheme-specific-part,並且它的scheme與scheme-specific-part被冒號分開了。

URI有絕對和相對之分,絕對的URI指以scheme(後面跟着冒號)開頭的URI。前面提到的http://域名 就是絕對的URI的一個例子,其它的例子還有mailto:[email protected]、news:地址和xyz://whatever。你可以把絕對的URI看作是以某種方式引用某種資源,而這種方式對標識符出現的環境沒有依賴。如果使用文件系統作類比,絕對的URI類似於從根目錄開始的某個文件的徑。

與絕對的URI不同的,相對的URI不是以scheme(後面跟着冒號)開始的URI。 它的一個例子是articles/articles.html。你可以把相對的URI看作是以某種方式引用某種資源,而這種方式依賴於標識符出現的環境。如果用文件系統作類比,相對的URI類似於從當前目錄開始的文件路徑。

URL是Uniform Resource Locator的縮寫,譯爲"統一資源定位符"。通俗地說,URL是Internet上用來描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上,特別是著名的Mosaic。採用URL可以用一種統一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。

目前最大的缺點是當信息資源的存放地點發生變化時,必須對URL作相應的改變。因此人們正在研究新的信息資源表示方法,例如:URI(Universal Resource Identifier)即"通用資源標識"(參見RFC 1630)、URN(Uniform Resource Name)即"統一資源名"和URC(Uniform Resource Citation)即"統一資源引用符"等。



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