從鄙人程式設計師的角度理解,URI屬於URL更低層次的抽象,一種字串文字標準。
就是說,URI屬於父類,而URL屬於URI的子類。URL是URI的一個子集。
在《HTTP權威指南》一書中,對於URI的定義是:統一資源識別符號;對於URL的定義是:統一資源定位符。
二者的區別在於,URI表示請求伺服器的路徑,定義這麼一個資源。而URL同時說明要如何訪問這個資源(http://)。
例如,一個URL通常包括三部分:
方案部分(scheme):http://
資源部分:/
1.png
而在C#中,URL類屬於
System.Security.Policy
Url 證據的存在將在授予集內生成 UrlIdentityPermission。如果有對 UrlIdentityPermission 的 Demand,則與 Url 證據對應的 UrlIdentityPermission 將與請求的許可權進行比較。
考慮完整的 URL,包括協議(HTTP、HTTPS、FTP)和檔案。例如,Microsoft Home Page 就是一個完整的 URL。
URL 可以精確匹配,也可在最後一個位置使用萬用字元來匹配。例如,Microsoft Home Page* 就是一個含萬用字元的 URL。
而Uri類在例項化的時候,可以指定為絕對路徑,相對路徑,但可以不指定到具體的某個資源。
那麼我理解的二者的區別就是:
URI可以表示一個域,也可以表示一個資源。
URL只能表示一個資源。
同樣的,URN(統一資源名稱)也是URI的一個子集,目前沒有大規模運用。
從鄙人程式設計師的角度理解,URI屬於URL更低層次的抽象,一種字串文字標準。
就是說,URI屬於父類,而URL屬於URI的子類。URL是URI的一個子集。
在《HTTP權威指南》一書中,對於URI的定義是:統一資源識別符號;對於URL的定義是:統一資源定位符。
二者的區別在於,URI表示請求伺服器的路徑,定義這麼一個資源。而URL同時說明要如何訪問這個資源(http://)。
例如,一個URL通常包括三部分:
方案部分(scheme):http://
資源部分:/
1.png
而在C#中,URL類屬於
System.Security.Policy
名稱空間,Uri屬於System。在MSDN對Url類的備註中,能更好的說明Url與Uri的區別:Url 證據的存在將在授予集內生成 UrlIdentityPermission。如果有對 UrlIdentityPermission 的 Demand,則與 Url 證據對應的 UrlIdentityPermission 將與請求的許可權進行比較。
考慮完整的 URL,包括協議(HTTP、HTTPS、FTP)和檔案。例如,Microsoft Home Page 就是一個完整的 URL。
URL 可以精確匹配,也可在最後一個位置使用萬用字元來匹配。例如,Microsoft Home Page* 就是一個含萬用字元的 URL。
而Uri類在例項化的時候,可以指定為絕對路徑,相對路徑,但可以不指定到具體的某個資源。
那麼我理解的二者的區別就是:
URI可以表示一個域,也可以表示一個資源。
URL只能表示一個資源。
同樣的,URN(統一資源名稱)也是URI的一個子集,目前沒有大規模運用。