1. 程式人生 > 其它 >HTTP 協議中 URI 和 URL 有什麼區別

HTTP 協議中 URI 和 URL 有什麼區別

統一資源標誌符 URI就是在某一規則下能把一個資源獨一無二地標識出來

拿人做例子,假設這個世界上所有人的名字都不能重複,那麼名字就是 URI 的一個例項,通過名字這個字串就可以標識出唯一的一個人

現實當中名字當然是會重複的,所以身份證號才是 URI,通過身份證號能讓我們能且僅能確定一個人

那統一資源定位符 URL 是什麼呢.也拿人做例子然後跟 HTTP 的 URL 做類比,就可以有

動物住址協議://地球/中國/浙江省/杭州市/西湖區/某大學/14號宿舍樓/525號寢/張三

可以看到,這個字元串同樣標識出了唯一的一個人,起到了 URI 的作用,所以 URL 是 URI 的子集,URL 是以描述人的位置來唯一確定一個人的

在上文我們用身份證號也可以唯一確定一個人.對於這個在杭州的張三,我們也可以用:

身份證號:

123456789來標識他

所以不論是用定位的方式還是用編號的方式,我們都可以唯一確定一個人,都是 URl 的一種實現,而 URL 就是用定位的方式實現的 URI.

回到 Web 上,假設所有的 Html 文件都有唯一的編號,記作 Html:xxxxx,xxxxx 是一串數字,即 Html 文件的身份證號碼,這個能唯一標識一個 Html 文件,那麼這個號碼就是一個 URI

而 URL 則通過描述是哪個主機上哪個路徑上的檔案來唯一確定一個資源,也就是定位的方式來實現的 URI

對於現在網址我更傾向於叫它 URL,畢竟它提供了資源的位置資訊,如果有一天網址通過號碼來標識變成了

,那感覺叫成 URI 更為合適.不過這樣子的話還得想辦法找到這個資源咯…

轉載:https://www.zhihu.com/question/21950864