URI和URL區別

2.1.1 什麼是URI

Web上可用的每種資源 - HTML文檔、圖像、視頻片斷、程序等 - 由一個經過通用資源標誌符(Universal Resource Identifier, 簡稱"URI")進行定位。

URI通常由三部分組成:

訪問資源的命名機制。
存放資源的主機名。
資源自身的名稱,由路徑表示。
考慮下面的URI,它表示了當前的HTML 4.0規範:

http://www.webmonkey.com.cn/html/html40/
這個URI是這樣的:這是一個可經過HTTP協議訪問的資源,位於主機www.webmonkey.com.cn上,經過路徑「/html/html40」訪問。在HTML文檔中其它資源包括"mailto"(收發email)和"ftp"(FTP訪問)。

這是URI的另外一個例子,指向一個用戶的郵箱:
<A href="mailto:joe@someplace.com">Joe Cool</A>
注:大多數讀者可能熟悉"URL",而不是URI。URL是URI命名機制的一個子集。

2.1.2 片斷標誌符

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

2.1.3 相對URI

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

爲了說明相對URI,假設咱們有一個基本的URI
"http://www.acme.com/support/intro.html"。下面的連接中使用了相對URI:
<A href="suppliers.html">Suppliers</A>
它擴展成徹底的URI就是 "http://www.acme.com/support/suppliers.html",
下面是一個圖像的相對URI:
<IMG src="../icons/logo.gif" alt="logo">
它擴展成徹底的URI就是 "http://www.acme.com/icons/logo.gif"。
在HTML中,URI被用來:

連接到另外一個文檔或資源(參看A和LINK元素)。
連接到一個外部樣式表或腳本(參看LINK和SCRIPT元素)。
在頁內包含圖像、對象或applet(參看IMAG、OBJECT、APPLET和INPUT元素)。
創建圖像映射(參看MAP和AREA元素)。
提交一個表單(參看FORM)。
創建一個框架文檔(參看FRAME和IFRAME元素)。
引用一個外部參考(參看Q、BLOCKQUOTE, INS和DEL元素)。
指向一個描述文檔的metadata(參看HEAD元素)。 html

========================================================================== URL 統一資源定位符   
URI   統一資源標示符   
二者是不同的,URI是一個更普遍的概念,如URL,URN都是一種URI,   能夠說URI是抽象的,而具體使用URL,URN來定位。 java

 

  URI、URL和URN是識別、定位和命名互聯網上的資源的標準途徑; URL,URN是URI的子集. web

     URI不能定位或讀取/寫入資源。這是統一的資源定位器(URL)的任務。URL是一種URI,可是它的大綱組件是已知的網絡協議(簡稱協議),而且它把URI組件與某種協議處理程序(一種資源定位器和根據協議創建的約束規則與資源通信的讀/寫機制)。 網絡

  URI通常不能爲資源提供持久不便的名稱。這是統一的資源命名(URN)的任務。URN也是一種URI,可是全球惟一的、持久不便的,即便資源不在存在或再也不使用。 app

      web上地址的基本形式是URI,它表明統一資源標識符。有兩種形式:
      URL:目前URI的最廣泛形式就是無處不在的URL或統一資源定位器。
      URN:URL的一種更新形式,統一資源名稱(URN, Uniform Resource Name)不依賴於位置,而且有可能減小失效鏈接的個數。可是其流行還需假以時日,由於它須要更精密軟件的支持。 框架

體系中的URI、URL和URN是彼此關聯的。URI的範疇位於體系的頂層,URL和URN的範疇位於體系的底層。這種排列顯示URL和URN都是URI的子範疇, URI表示的是統一的資源標識,它是以某種統一的(標準化的)方式標識資源的簡單字符串。典型狀況下,這種字符串以scheme(命名URI的名字空間的標識符--一組相關的名稱)開頭,語法以下: orm

[scheme:] scheme-specific-part 視頻

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

其中一個例子是http://www.cnn.com,其中http是scheme,//www.cnn.com是 scheme-specific-part,而且它的scheme與scheme-specific-part被冒號分開了。 對象

咱們能夠把URI按照絕對的或相對的分類。絕對的URI指以scheme(後面跟着冒號)開頭的URI。前面提到的http://www.cnn.com就是絕對的URI的一個例子,其它的例子還有mailto:jeff@javajeff.comnews:comp.lang.java.help和xyz://whatever。你能夠把絕對的URI看做是以某種方式引用某種資源,而這種方式對標識符出現的環境沒有依賴。   

若是使用文件系統做類比,絕對的URI相似於從根目錄開始的某個文件的路徑。與絕對的URI不一樣的,相對的URI不是以scheme(後面跟着冒號)開始的URI。

它的一個例子是articles/articles.html。你能夠把相對的URI看做是以某種方式引用某種資源,而這種方式依賴於標識符出現的環境。若是用文件系統做類比,相對的URI相似於從當前目錄開始的文件路徑。

相關文章
相關標籤/搜索