回覆列表
  • 1 # 兔兔奇聞

    從鄙人程式設計師的角度理解,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的一個子集,目前沒有大規模運用。

  • 中秋節和大豐收的關聯?
  • 麻辣燻牛肉怎麼做?