1. 程式人生 > >URI、URL和URN是什麼?

URI、URL和URN是什麼?

  URI(Uniform Resource identify)、URL(Uniform Resource Location)和URN(Uniform Resource Name)
  是識別、定位和命名網際網路上的資源的標準途徑; URL,URN是URI的子集.

  URI不能定位或讀取/寫入資源。這是統一的資源定位器(URL)的任務。
  URL是一種URI,但是它的大綱元件是已知的網路協議(簡稱協議),並且它把URI元件與某種協議處理

程式(一種資源定位器和根據協議建立的約束規則與資源通訊的讀/寫機制)。
  URI一般不能為資源提供持久不便的名稱。這是統一的資源命名(URN)的任務。URN也是一種URI,但是

全球唯一的、持久不便的,即使資源不在存在或不再使用。
  web上地址的基本形式是URI,它代表統一資源識別符號。有兩種形式:
    URL:目前URI的最普遍形式就是無處不在的URL或統一資源定位器。
    URN:URL的一種更新形式,統一資源名稱(URN, Uniform Resource Name)不依賴於位置,並且有可能

減少失效連線的個數。但是其流行還需假以時日,因為它需要更精密軟體的支援。

  體系中的URI、URL和URN是彼此關聯的。URI的範疇位於體系的頂層,URL和URN的範疇位於體系的底層。

這種排列顯示URL和URN都是URI的子範疇, URI表示的是統一的資源標識,它是以某種統一的(標準化的

)方式標識資源的簡單字串。典型情況下,這種字串以scheme(命名URI的名字空間的識別符號--一組

相關的名稱)開頭,語法如下:
  [scheme:] scheme-specific-part
  URI以scheme和冒號開頭。Scheme用大寫/小寫字母開頭,後面為空或者跟著更多的大寫/小寫字母、數

字、加號、減號和點號。冒號把scheme與scheme-specific-part分開了,並且scheme-specific-part的語

法和語義(意思)由URI的名字空間決定。  
  其中一個例子是http://www.cnn.com,其中http是scheme,//www.cnn.com是 scheme-specific-part,

並且它的scheme與scheme-specific-part被冒號分開了。

  我們可以把URI按照絕對的或相對的分類。絕對的URI指以scheme(後面跟著冒號)開頭的URI。前面提

news:comp.lang.java.help和xyz://whatever。你可以把絕對的URI看作是以某種方式引用某種資源,而

這種方式對識別符號出現的環境沒有依賴。   
  如果使用檔案系統作類比,絕對的URI類似於從根目錄開始的某個檔案的路徑。與絕對的URI不同的,相

對的URI不是以scheme(後面跟著冒號)開始的URI。
  它的一個例子是articles/articles.html。你可以把相對的URI看作是以某種方式引用某種資源,而這

種方式依賴於識別符號出現的環境。如果用檔案系統作類比,相對的URI類似於從當前目錄開始的檔案路徑

URI 與 URL
什麼是URI:
  Web上可用的每種資源 - HTML文件、影象、視訊片段、程式等 - 由一個通過通用資源標誌符

(Universal Resource Identifier, 簡稱"URI")進行定位。
URI一般由三部分組成:
  1. 訪問資源的命名機制。
  2. 存放資源的主機名。
  3. 資源自身的名稱,由路徑表示。
注:大多數人可能熟悉"URL",而不是URI。URL是URI命名機制的一個子集。

什麼是URL:
  URL是Uniform Resource Location的縮寫,譯為"統一資源定位符"。通俗地說,URL是Internet上用來

描述資訊資源的字串,主要用在各種WWW客戶程式和伺服器程式上,特別是著名的Mosaic。採用URL可以

用一種統一的格式來描述各種資訊資源,包括檔案、伺服器的地址和目錄等。  
  URL的格式由下列三部分組成:
    第一部分是協議(或稱為服務方式);
    第二部分是存有該資源的主機IP地址(有時也包括埠號);
    第三部分是主機資源的具體地址。,如目錄和檔名等。
    第一部分和第二部分之間用"://"符號隔開,第二部分和第三部分用"/"符號隔開。第一部分和第二

部分是不可缺少的,第三部分有時可以省略。
  URL最大的缺點:當資訊資源的存放地點發生變化時,必須對URL作相應的改變。因此人們正在研究新的

資訊資源表示方法,例如:URI(Universal Resource Identifier)即"通用資源標識"(參見RFC 1630)、

URN(Uniform Resource Name)即"統一資源名"和URC(Uniform Resource Citation)即"統一資源引用

符"等。