應用層:URL和URI之間的區別是什麼?
1.URL是什麼?
URL(統一資源定位符)是Internet上資源的地址,可以定義為引用地址的字串,用於指示資源的位置以及用於訪問它的協議。
URL是在網路上定位資源的最普遍使用的方式,它提供了一種通過描述其網路位置或主要訪問機制來檢索物理位置的表示的方法。
URL中描述了協議,該URL用於檢索資源和資源名稱。如果資源是Web型別資源,則URL在開頭包含http / https。同樣,如果資源是檔案,則以ftp開頭,如果資源是電子郵件地址,則以mailto開頭。
URL包含以下資訊:
1、用於訪問資源的協議
2、伺服器的位置(無論是通過IP地址還是域名)
3、伺服器上的埠號(可選)
4、資源在伺服器目錄結構中的位置
5、片段識別符號(可選)
例:
如上圖所示,其中第一部分用於協議,部分的其餘部分用於由域名或程式名稱組成的資源。
2.URI是什麼?
URI(統一資源識別符號)是標識邏輯或物理資源的字元序列,與URL類似,也是一串字元。通過使用位置,名稱或兩者來標識Internet上的資源;它允許統一識別資源。
有兩種型別的URI,統一資源識別符號(URL)和統一資源名稱(URN)。
任何URI的通用形式都是:
scheme:[// [user:password @] host [:port]] [/] path [?查詢] [#片段]
Scheme(方案):該方案列出了具體語法和URI的任何相關協議。方案不區分大小寫,後跟冒號。理想情況下,URI方案應該在網際網路號碼分配機構(IANA)註冊,但也可以使用非註冊方案。
許可權元件:許可權元件由多個部分組成:可選的身份驗證部分,主機(由註冊名稱或IP地址組成) , 以及可選的埠號。身份驗證部分包含使用者名稱和密碼,用冒號分隔,後跟at(@)符號。在@之後是主機名,然後是冒號,然後是一個埠號。請務必注意,IPv4地址必須採用點十進位制表示法,並且IPv6地址必須括在括號中。
查詢(可選):查詢包含一串非分層資料。雖然語法沒有明確定義,但通常是由分隔符分隔的屬性值對序列,例如&符號或分號。查詢通過問號與前一部分分開。
片段(可選):片段包含片段識別符號,該識別符號為輔助資源提供方向。
3.URL和URI之間的主要區別
URL是統一資源定位器,用於標識資源;URI(統一資源識別符號)提供了更簡單和可擴充套件的標識資源的方法。URL是URI的子集,下面我們就來看看一下URL和URI的主要區別是什麼。
3.1.作用的區別:
URL(統一資源定位符)主要用於連結網頁,網頁元件或網頁上的程式,藉助訪問方法(http,ftp,mailto等協議)來檢索位置資源。
URI(統一資源識別符號)用於定義專案的標識,此處單詞識別符號表示無論使用的方法是什麼(URL或URN),都要將一個資源與其他資源區分開來。
3.2.可以說URL是URI(URL是URI的子集),但URI永遠不能是URL。
3.3.協議區別:
URL指定要使用的協議型別,而URI不涉及協議規範。
宣告:本文轉載自https://www.php.cn/div-tutorial-413616.html,如有疑問,請聯絡本人。
本文來自部落格園,作者:曼路的個人部落格,轉載請註明原文連結:https://www.cnblogs.com/manlujun/p/15778624.html