uri,uniform resource identifier,統一資源識別符號。
url,uniform resource location,統一資源定位符。
uri 簡單來理解就是標識/定義了乙個資源,而 url 在定義/標識資源的同時還需要描述如何訪問到該資源。可以認為 url 是 uri 的乙個子集。
舉個例子:
公司裡每個人都有乙個內部唯一的花名,這個花名其實就可以認為是 uri,它對應了公司內部唯一的乙個人(資源)。當我需要找這個人時,雖然我知道了花名(uri),但是並找不到他人,因為我不知道他的工位,這時候就需要知道他的工位號如 13b-11 ,工位號+花名其實就是乙個 url,它指定了乙個人以及怎麼找到這個人的位置。
上述例子可能並不規範,但是感覺這樣比較容易理解區分。一般來說 uri 有乙個通用的結構描述:
其實現在我們不必刻意去區分 uri / url / urn 。在 [rfc3986]上已經明確說明這個點:
future specifications and related documentation should主要資源是由 uri 進行標識,uri 中的 fragment 用來標識次級資源。我理解看來,fragment 主要是用來標識 uri 所標識資源裡的某個資源。use the general term "uri" rather than the more restrictive terms
"url" and "urn".
在 uri 的末尾通過 hash mark(#)作為 fragment 的開頭,其中 # 不屬於 fragment 的值。
這個 uri 中l18
就是 fragment 的值。這有哪些特殊的地方呢?
#
有別於?
,?
後面的查詢字串會被網路請求帶上伺服器,而 fragment 不會被傳送的伺服器;
fragment 的改變不會觸發瀏覽器重新整理頁面,但是會生成瀏覽歷史;
fragment 會被瀏覽器根據檔案**型別(mime type)進行對應的處理;
google 的搜尋引擎會忽略#
及其後面的字串。
url與URI的區別
url universe resouces location統一資源定位符 uri universe resouces identifier資源標誌符uri一般由三部分組成 a 訪問資源的命名機制。b 存放資源的主機名。c 資源自身的名稱,由路徑表示。考慮下面的uri,它表示了當前的html 4.0...
URI與URL的區別
統一資源識別符號 uri 是 uniform resource identifier 的縮寫。rfc2396 分別對這 3 個單詞進行了如下 定義。uniform 規定統一的格式可方便處理多種不同型別的資源,而不用根據上下文環境來識別資 源指定的訪問方式。另外,加入新增的協議方案 如 http 或 ...
URL與URI的區別
注 大多數讀者可能熟悉 url 而不是uri。url是rui命名機制的乙個子集。片段標誌符 有的uri指向乙個資源的內部。這種uri以 結束,並跟著乙個anchor標誌 符 稱為片段標誌符 例如,下面是乙個指向section 2的uri 相對uri 相對uri 不包含任何命名規範資訊。它的路徑通常指...