URL與URI
我們經常接觸到的就是URL了,它就是我們訪問web的一個字符串地址,那么URI是什么呢?他們是什么關系呢?
URL:uniform resource location 統一資源定位符
URI:uniform resource identifier 統一資源標識符
這也就是說,URI是一種資源的標識;而URL也是一種URI,也是一種資源的標識,但它也指明了如何定位Locate到這個資源。
URI是一種抽象的資源標識,既可以是絕對的,也可以是相對的。但是URL是一種URI,它指明了定位的信息,必須是絕對的
URI詳細介紹
URI一般來說有以下三種構成方式:
一、絕對URI
指以scheme(后面跟着冒號)開頭的URI
參考下面的URI,它符合當前的RFC4395規范:協議名稱://域名.根域名/目錄/文件名.后綴
例如http://b.c/d/e.f (假設b.c是一個可用的
域名,e.f是一個標准的文件)
這是URI的另一個例子,指向一個用戶的郵箱:mailto:名稱@域名
其它的例子還有news:地址和xyz://whatever
關系:URL是URI命名機制的一個子集。
二、標志符
有的URI指向一個資源的內部。 這種URI以"#某某"結束,某某是指一個
anchor標志符(稱為片段標志符)。
例如,下面是一個指向a的URI:
協議://域名/目錄/文件#片段標示符(例如:/a/b.php#a)
三、相對URI
相對URI不包含任何命名規范信息。它的路徑通常指同一台機器上的資源。
相對URI可能含有
相對路徑(如,“..”表示上一層路徑),還可能包含片段標志符。
為了說明相對URI,假設我們有一個基本的URI: 協議://域名/目錄a/目錄b/文件c
下面的鏈接中使用了相對URI:
../文件D
它擴展成完全的URI就是
"協議://域名/目錄a/文件D"
實際上URL就是上面介紹的絕對URI命名機制的產物