每一個Web 服務(wù)器資源都有1個名字,這樣客戶端就能夠說明它們感興趣的資源是
甚么了。服務(wù)器資源名被稱為統(tǒng)1資源標識符(Uniform Resource Identifier,URI)。
URI 就像因特網(wǎng)上的郵政地址1樣,在世界范圍內(nèi)唯1標識并定位信息資源。
這是Joe 的5金商店的Web 服務(wù)器上1個圖片資源的URI:
http://www.joes-hardware.com/specials/saw-blade.gif
圖1
圖1顯示了URI 是怎樣唆使HTTP 協(xié)議去訪問Joe 商店服務(wù)器上的圖片資源的。
給定了URI,HTTP 就能夠解析出對象。URI 有兩種情勢,分別稱為URL 和URN。
統(tǒng)1資源定位符(URL)是資源標識符最多見的情勢。URL 描寫了1臺特定服務(wù)器上某資源的特定位置。它們可以明確說明如何從1個精確、固定的位置獲得資源。圖1顯示了URL 如何精確地說明某資源的位置和如何去訪問它。
URL實例:
http://www.oreilly.com/index.html O’Reilly &Associates 公司的主URL
http://www.yahoo.com/images/logo.gif Yahoo! 的Web 站點標志URL
http://www.joes-hardware.com/inventory-check.cgi?item=12731 1個查看庫存條目#12731 是不是有現(xiàn)貨的程序的URL
ftp://joe:tools4u@ftp.joes-hardware.com/lockingpliers.gif 以密碼保護的FTP 作為訪問協(xié)議的locking
大部份URL 都遵守1種標準格式,這類格式包括3個部份。
?第1部份被稱為方案(scheme),說明了訪問資源所使用的協(xié)議類型。這部份通常就是HTTP 協(xié)議(http://)。
?第2部份給出了服務(wù)器的因特網(wǎng)地址(比如,www.joes-hardware.com)。
?第3部份指定了 Web 服務(wù)器上的某個資源(比如,/specials/saw-blade.gif)。
現(xiàn)在,幾近所有的URI 都是URL。
URL 有兩種方式:絕對的和相對的。絕對URL中包括有訪問資源所需的全部信息。另外一方面,相對URL 是不完全的。要從相對URL 中獲得訪問資源所需的全部信息,就必須相對另外一個,被稱為其基礎(chǔ)(base)的URL 進行解析。相對URL 是URL 的1種便捷縮略記法。如果你寫過HTML 的話,可能就會發(fā)現(xiàn)相對URL 是多么便捷了。圖2 是1個嵌入了相對URL 的HTML 文檔實例。
圖2
圖2是資源:http://www.joes-hardware.com/tools.html的HTML 文檔。
在這個HTML 文檔中有1個包括了URL ./hammers.html 的超鏈接。這個URL 看起來是不完全的,但實際上是個合法的相對URL。可以相對它所在文檔的URL 對其進行解釋;在這個例子中,就是相對Joe 的5金商店Web 服務(wù)器的資源/tools. html。
基礎(chǔ)URL 為:http://www.joes-hardware.com/tools.html用這個URL 作為基礎(chǔ),可以推導有缺失的信息。我們知道資源名為./hammers.html,但其實不知道方案或主機名是甚么。通過這個基礎(chǔ)URL,可以推導出方案為http,主機為www.joes-hardware.com。圖3 對此進行了說明。
圖3
URI 的第2種情勢就是統(tǒng)1資源名(URN)。URN 是作為特定內(nèi)容的唯1名稱使用的,與目前的資源所在地無關(guān)。使用這些與位置無關(guān)的URN,就能夠?qū)①Y源4處搬移。通過URN,還可以用同1個名字通過量種網(wǎng)絡(luò)訪問協(xié)議來訪問資源。
比如,不論因特網(wǎng)標準文檔RFC 2141 位于何處(乃至可以將其復制到多個地方),
都可以用以下URN 來命名它:
urn:ietf:rfc:2141
URN 依然處于實驗階段,還未大范圍使用。為了更有效地工作,URN 需要1個支持架構(gòu)來解析資源的位置。而此類架構(gòu)的缺少也延緩了其被采取的進度。