
URI與URL有什麼區別?
什麼是URI?
URI——「統一資源標識符」的縮寫,是將一個資源與另一個資源區分開來的字符序列。例如,foo://example.com:8042/over/there?name=ferret#nose 是一個包含方案名稱、權限、路徑、查詢和片段的 URI。URI不需要包含所有這些組件。它所需要的只是一個方案名稱和一個文件路徑,它可以為空。
這是URI的另一個示例:telnet://192.0.2.16:80/。本例中「telnet」為方案名,雙斜線後的數字構成權限。路徑為空,這就是為什麼斜槓後面沒有字符的原因
URI的類型
有兩種類型的 URI:URN 和URL。
統一資源名稱 (URN) 是遵循「urn」方案的持久且與位置無關的標識符。在這種情況下,「持久」意味著URN隨著時間的推移持續識別相同的資源。以下是RFC 3986 提供的URN示例:urn:oasis:names:specification:docbook:dtd:xml:4.1.2
另一方面,URL是依賴於位置的標識符,不一定是持久的。這意味著,隨著時間的推移,不需要URL來標識相同的資源。URL也不遵循「urn」方案。現在我們對 URI、URL和URN有了一個簡要的了解,讓我們仔細看看下面的URL。
什麼是網址?
URL——「Uniform Resource Locator」的縮寫,是一種特定類型的標識符,它不僅標識資源,而且告訴您如何訪問它或它位於何處。例如,一個URL可能包含 ftp:// 或 https://。這告訴您可以通過文件傳輸協議 (FTP) 或超文本傳輸協議安全 (HTTPS) 定位和訪問資源。
以下是一些URL示例:
ftp://ds.internic.net/internet-drafts/draft-ietf-uri-irl-fun-req-02.txt
https://www.iware.com.tw/view/467.html
https://www.iware.com.tw/index.php?tn=monline_3_dg
您會注意到這些看起來類似於上面提到的URI示例。那是因為它們包含許多相同的組件,包括路徑和查詢。
但是,URL也包含獨特的組件,例如協議和域。在最後一個URL示例中,「https://」是協議。「www」是子域,「iware.com.tw」是網域。「view/158.html」是路徑,問號和後面的所有內容構成查詢。
URI和URL之間有什麼區別?
URI和URL之間的主要區別在於URI是標識符,而URL是定位器。換句話說,URI只是標識資源。它不描述或暗示如何定位資源。一個網址就可以。
因此,URL是URI的特定子集。這意味著,所有URL都是 URI,但並非所有URI都是URL。
用於理解URI和URL之間差異的最常見類比是比較一個人的姓名與他們的地址。一個人的名字就像一個 URI,因為它在不提供任何關於如何定位他們的信息的情況下識別這個人。但是,地址會將該人標識為該地址的居民並提供其實際位置。這就是為什麼它就像一個URL。
另一個主要區別是URI可用於識別和區分HTML、XML 和其他文件。另一方面,URL只能用於識別和定位網頁。
識別和定位網路上的資源
由於網路上有數以百萬計的資源,因此了解識別和定位單個資源的正確方法非常重要。雖然URI用於通過名稱或位置標識資源,但URL是URI的子集,通過您訪問資源的方式來標識資源。