前言 - Prologue
嘗試寫 30 天文充實版面 (跳過假日跟特休 ლ(́◕◞౪◟◕‵ლ) ) 更新文章的 Day 16
當我們使用網路時,或多或少會遇到一些網址或連結,例如點擊連結或輸入網址。而這些網址或連結可以用三種方式來表示:URI、URL、URN,但這些名詞到底代表什麼意思?它們之間有什麼區別?
這些名詞代表的是網路資源的位置或識別方法,了解這些名詞的差別有助於更清楚地理解網路世界中的資源定位。
今天我們要介紹的是 URI、URL 和 URN,雖然它們之間的區別很容易混淆,但如果你能夠理解它們的定義,就能更加清楚地知道何時該使用哪一種識別方式來標識和定位網路上的資源。
正文 - Main text
URI 是一個字串,用於唯一標識一個抽象或實體資源。它可以表示一個網頁、一個圖像、一個文件、一個輸入表單等等。
URI 包含兩個子類別,即 URL 和 URN。
例如:ftp://ftp.example.com/pub/file.txt
是一個 URI,描述了一個位於 ftp://ftp.example.com/pub/
路徑下的文件。
ftp
是協定(Protocol),即使用 FTP(檔案傳輸協定)協定來存取資源。
ftp.example.com
是主機名稱(Hostname),即遠端伺服器的網域名稱或 IP 位址。
pub/file.txt
是資源路徑(Resource Path),即所需存取的資源在伺服器上的路徑。
URL 是一種具體的 URI,它描述了一個資源的位置以及存取該資源所需的協定。一個 URL 包含了以下幾個部分:
- 協定:即使用的網路協定,例如 HTTP、FTP 等等。
- 主機名稱:即存放資源的主機名稱或 IP 位址。
- 端口號:可選項目,指定連接主機時使用的端口號。
- 資源路徑:即存取資源的路徑。
- 查詢字串:可選項目,提供了一些資源的額外資訊。
例如:https://www.example.com/index.html
是一個 URL,描述了一個位於 https://www.example.com
的 Web 頁面。
https
是協定。
www.example.com
是主機名稱。
index.html
是資源路徑。
URN 是另一個 URI 的子類別,它是一個唯一標識符,但不包含資源的位置資訊。
URN 的格式為 urn:namespace:identifier,其中 namespace 是命名空間,identifier 是該命名空間下的唯一標識符。
例如:urn:isbn:0-283-49559-7
是一個 URN,描述了一本書的 ISBN 號碼。
urn:isbn
是命名空間。
0-283-49559-7
是標識符。
總結來說,URI 是用於唯一標識一個抽象或實體資源的字串,包含 URL 和 URN 這兩個子類別。
URL 描述了資源的位置和存取該資源所需的協定,URN 僅用於唯一標識資源,不包含位置資訊。
參考資料 - Reference
[1] 統一資源名稱 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E5%90%8D%E7%A7%B0
後記 - Epilogue
無論是 URI、URL 或 URN,它們都是在網路上定位資源的標準方式。
URI 是定位資源的識別符號,包含 URL 和 URN。URL 是用來定位網路上的資源位置,通常用於網路瀏覽器上。URN 則是透過獨特的名稱來定位資源,無論其位置為何。
雖然這些名詞可能有些混淆,但理解它們之間的差異可以協助我們更好地使用網路並定位所需的資源。