1.什么是URI
Web上可用的每種資源 - HTML文檔、圖像、視頻片段、程序等 - 由一個(gè)通過通
用資源標(biāo)志符(Universal Resource Identifier, 簡(jiǎn)稱"URI")進(jìn)行定位。
URI一般由三部分組成:
訪問資源的命名機(jī)制。
存放資源的主機(jī)名。
資源自身的名稱,由路徑表示。
考慮下面的URI,它表示了當(dāng)前的HTML 4.0規(guī)范:
http://www.webmonkey.com.cn/html/html40/這個(gè)URI是這樣的:這是一個(gè)可通過HTTP協(xié)議訪問的資源,位于主
機(jī)
www.webmonkey.com.cn上,通過路徑“/html/html40”訪問。在HTML文檔中
其它資源包括"mailto"(收發(fā)email)和"ftp"(FTP訪問)。
這是URI的另一個(gè)例子,指向一個(gè)用戶的郵箱:
<A href="Joe'>mailto:
joe@someplace.com">Joe Cool</A>
注:大多數(shù)讀者可能熟悉"URL",而不是URI。URL是URI命名機(jī)制的一個(gè)子集。
片段標(biāo)志符
有的URI指向一個(gè)資源的內(nèi)部。 這種URI以"#"結(jié)束,并跟著一個(gè)anchor標(biāo)志
符(稱為片段標(biāo)志符)。例如,下面是一個(gè)指向section_2的URI:
http://somesite.com/html/top.htm#section_2相對(duì)URI
相對(duì)URI 不包含任何命名規(guī)范信息。它的路徑通常指同一臺(tái)機(jī)器上的資源。相
對(duì)URI可能含有相對(duì)路徑(如,“..”表示上一層路徑),還可能包含片段標(biāo)
志符。
為了說明相對(duì)URI,假設(shè)我們有一個(gè)基本的URI
http://www.acme.com/support/intro.htm下面的鏈接中使用了相對(duì)URI:
<A href="suppliers.htm">Suppliers</A>
它擴(kuò)展成完全的URI就是 "
http://www.acme.com/support/suppliers.htm",
下面是一個(gè)圖像的相對(duì)URI:
<IMG src="../icons/logo.gif" alt="logo">
它擴(kuò)展成完全的URI就是 "
http://www.acme.com/icons/logo.gif"。
在HTML中,URI被用來:
鏈接到另一個(gè)文檔或資源(參看A和LINK元素)。
鏈接到一個(gè)外部樣式表或腳本(參看LINK和SCRIPT元素)。
在頁內(nèi)包含圖像、對(duì)象或applet(參看IMAG、OBJECT、APPLET和INPUT
元素)。
建立圖像映射(參看MAP和AREA元素)。
提交一個(gè)表單(參看FORM)。
建立一個(gè)框架文檔(參看FRAME和IFRAME元素)。
引用一個(gè)外部參考(參看Q、BLOCKQUOTE, INS和DEL元素)。
指向一個(gè)描述文檔的metadata(參看HEAD元素)。
2.什么是URL:
URL是Uniform Resource Location的縮寫,譯為“統(tǒng)一資源定位符”。通俗地說,URL是Internet上用來描述信息資源的字符串,主要用在各種WWW客戶程序和服務(wù)器程序上,特別是著名的Mosaic。采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務(wù)器的地址和目錄等。
◇ URL的格式
URL的格式由下列三部分組成:
第一部分是協(xié)議(或稱為服務(wù)方式);
第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào));
第三部分是主機(jī)資源的具體地址。,如目錄和文件名等。
第一部分和第二部分之間用“://”符號(hào)隔開,第二部分和第三部分用“/”符號(hào)隔開。第一部分和第二部分是不可缺少的,第三部分有時(shí)可以省略。
◇ URL示例
文件的URL:
用URL表示文件時(shí),服務(wù)器方式用file表示,后面要有主機(jī)IP地址、文件的存取路徑(即目錄)和文件名等信息。有時(shí)可以省略目錄和文件名,但“/”符號(hào)不能省略。
例一:file://ftp.yoyodyne.com/pub/files/foobar.txt
代表存放主機(jī)ftp.yoyodyne.com上的pub/files/目錄下的一個(gè)文件,文件名是foobar.txt。
例二:file://ftp.yoyodyne.com/pub
代表主機(jī)ftp.yoyodyne.com上的目錄/pub。
例三:file://ftp.yoyodyne.com/
代表主機(jī)ftp.yoyodyne.com上的根目錄。
Gopher的URL:
Gopher服務(wù)器有可能使用特殊的端口,在這種情況下,主機(jī)IP地址與端口之間要用“:隔開。
例一:gopher://gopher.yoyodyne.com/
表示主機(jī)gopher.yoyodyne.com上的gopher服務(wù)器。
例二:gopher://gopher.banzai.edu:1234
表示主機(jī)gopher.banzai.edu上的gopher服務(wù)器,在端口1234上。
網(wǎng)絡(luò)新聞的URL:
利用URL表示網(wǎng)絡(luò)新聞組時(shí),如果是usenet的話只要指定出新聞組的名字即可。
例如:news:rec.gardening
表示usenet上的rec.gardening新聞組(園藝)。
HTTP的 URL:
使用超級(jí)文本傳輸協(xié)議HTTP,提供超級(jí)文本信息服務(wù)的資源。
例一:
http://www.peopledaily.com.cn/channel/welcome.htm其計(jì)算機(jī)域名為
www.peopledaily.com.cn。超級(jí)文本文件(文件類型為.html)是在目錄/channel下的welcome.htm。這是中國人民日?qǐng)?bào)的一臺(tái)計(jì)算機(jī)。
例二:
http://www.rol.cn.net/talk/talk1.htm其其計(jì)算機(jī)域名為
www.rol.cn.net。超級(jí)文本文件(文件類型為.html)是在目錄/talk下的talk1.htm。這是瑞得聊天室的地址,可由此進(jìn)入瑞得聊天室的第1室。
URI、URL和URN之間的區(qū)別與聯(lián)系
URI:Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符;
URL:Uniform Resource Locator,統(tǒng)一資源定位符;
URN:Uniform Resource Name,統(tǒng)一資源名稱。
其中,URL,URN是URI的子集。
Web上地址的基本形式是URI,它代表統(tǒng)一資源標(biāo)識(shí)符。有兩種形式:
URL:目前URI的最普遍形式就是無處不在的URL或統(tǒng)一資源定位器。
URN:URL的一種更新形式,統(tǒng)一資源名稱(URN, Uniform Resource Name)不依賴于位置,并且有可能減少失效連接的個(gè)數(shù)。但是其流行還需假以時(shí)日,因?yàn)樗枰苘浖闹С帧?br>URI是以某種統(tǒng)一的(標(biāo)準(zhǔn)化的)方式標(biāo)識(shí)資源的簡(jiǎn)單字符串。
URI一般由三部分組成:
1. 訪問資源的命名機(jī)制。
2. 存放資源的主機(jī)名。
3. 資源自身的名稱,由路徑表示。
典型情況下,這種字符串以scheme(命名URI的名字空間的標(biāo)識(shí)符——一組相關(guān)的名稱)開頭,語法如下:
[scheme:] scheme-specific-part
URI以scheme和冒號(hào)開頭。Scheme用大寫/小寫字母開頭,后面為空或者跟著更多的大寫/小寫字母、數(shù)字、加號(hào)、減號(hào)和點(diǎn)號(hào)。冒號(hào)把scheme與scheme-specific-part分開了,并且scheme-specific-part的語法和語義(意思)由URI的名字空間決定。如下面的例子:
http://www.cnn.com,其中http是scheme,//
www.cnn.com是 scheme-specific-part,并且它的scheme與scheme-specific-part被冒號(hào)分開了。
URI有絕對(duì)和相對(duì)之分,絕對(duì)的URI指以scheme(后面跟著冒號(hào))開頭的URI。前面提到的
http://www.cnn.com就是絕對(duì)的URI的一個(gè)例子,其它的例子還有mailto:
jeff@javajeff.com、news:comp.lang.java.help和xyz://whatever。你可以把絕對(duì)的URI看作是以某種方式引用某種資源,而這種方式對(duì)標(biāo)識(shí)符出現(xiàn)的環(huán)境沒有依賴。如果使用文件系統(tǒng)作類比,絕對(duì)的URI類似于從根目錄開始的某個(gè)文件的徑。
與絕對(duì)的URI不同的,相對(duì)的URI不是以scheme(后面跟著冒號(hào))開始的URI。 它的一個(gè)例子是articles/articles.html。你可以把相對(duì)的URI看作是以某種方式引用某種資源,而這種方式依賴于標(biāo)識(shí)符出現(xiàn)的環(huán)境。如果用文件系統(tǒng)作類比,相對(duì)的URI類似于從當(dāng)前目錄開始的文件路徑。
URL是Uniform Resource Location的縮寫,譯為"統(tǒng)一資源定位符"。通俗地說,URL是Internet上用來描述信息資源的字符串,主要用在各種WWW客戶程序和服務(wù)器程序上,特別是著名的Mosaic。采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務(wù)器的地址和目錄等。
URL的格式由下列三部分組成:
第一部分是協(xié)議(或稱為服務(wù)方式);
第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào));
第三部分是主機(jī)資源的具體地址。,如目錄和文件名等。
第一部分和第二部分之間用"://"符號(hào)隔開,第二部分和第三部分用"/"符號(hào)隔開。第一部分和第二部分是不可缺少的,第三部分有時(shí)可以省略。
目前最大的缺點(diǎn)是當(dāng)信息資源的存放地點(diǎn)發(fā)生變化時(shí),必須對(duì)URL作相應(yīng)的改變。因此人們正在研究新的信息資源表示方法,例如:URI(Universal Resource Identifier)即"通用資源標(biāo)識(shí)"(參見RFC 1630)、URN(Uniform Resource Name)即"統(tǒng)一資源名"和URC(Uniform Resource Citation)即"統(tǒng)一資源引用符"等。
URI目前還處在進(jìn)一步的研究當(dāng)中。研究的方向就是彌補(bǔ)URL目前存在的缺點(diǎn)。