與URI(統一資源標識符)相比,我們更熟悉URL(統一資源定位符)。URL正是在使用Web瀏覽器等訪問Web頁面時需要輸入的網址地址。比如下圖的 http://hackr.jp/ 就是 URL。

一、統一資源標識符
URI是Uniform Resource Identifier的縮寫。RFC2396分別對3哥單詞進行了如下定義。
Uniform
規定統一的格式可方便處理多種不同類型的資源,而不用根據上下文環境來識別資源指定的訪問方式。另外,加入新增的協議方案(http:、ftp:)也更容易。
Resource
資源的定義是"可標識的任何東西"。除了文檔文件、圖像或服務(例如當天的天氣預報)等能夠區別於其他類型的,全都可作為資源。另外資源不僅可以是單一的,也可以是多數的聚合體。
Identifier
表示可標識的對象。也稱為標識符。
綜上所訴,URI就是由某個協議方案表示的資源定位標識符。協議方案是指訪問資源所使用的協議類型名稱。
采用HTTP協議時,協議方案就是http。除此之外,還有ftp、mailto、telnet、file等。標准的URI協議方案有30種左右,由ICANN的IANA管理頒布。
URI用字符串標識某一互聯網資源,而URL表示資源的地點(互聯網上所處的位置)。可見URL時URI的子集。
幾個URI的例子:

二、URI格式
表示指定的URI,要使用涵蓋全部必要信息的絕對URI、絕對URL以及相對URL。相對URL,是指從瀏覽器中基本URI所指定的URL,形如/image/logo.gif。
讓我們先來了解一下絕對URI的格式。

使用http:或https:等協議方案名獲取訪問資源時要指定的協議類型。不區分字母大小寫,最后附一個冒號(:)。
登錄信息(認證)
指定用戶名和密碼作為從服務器端獲取資源時必要的登錄信息(身份認證)。可選項。
服務器地址
使用絕對URI必須指定待訪問的服務器地址。地址可以是類似hackr.ip這種DNS可解析的名稱,或是192.168.1.1這類的IPV4地址名,還是是ipv6地址名。
服務器端口號
指定服務器鏈接的網絡端口號。此項也是可選項,若用戶省略則自動使用默認端口號。
帶層次的文件路徑
指定服務器上的文件路徑來定位特指的資源,與UNIX系統的文件目錄結構相似。
查詢字符串
針對已指定的文件路徑內的資源,可以使用查詢字符串傳入任意參數。可選
片段標簽符
使用片段標識符通常可標記出已獲取資源中的子資源(文檔內某個位置)。可選
