您好,登錄后才能下訂單哦!
本篇內容主要講解“編程語言中URL、URI和URN三者之間的區別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“編程語言中URL、URI和URN三者之間的區別是什么”吧!
區別
首先我們要弄清楚一件事:URL和URN都是URI的子集。
換言之,URL和URN都是URI,但是URI不一定是URL或者URN。為了更好的理解這個概念,看下面這張圖片。
通過下面的例子(源自 Wikipedia),我們可以很好地理解URN 和 URL之間的區別。如果是一個人,我們會想到他的姓名和住址。
URL類似于住址,它告訴你一種尋找目標的方式(在這個例子中,是通過街道地址找到一個人)。要知道,上述定義同時也是一個URI。
相對地,我們可以把一個人的名字看作是URN;因此可以用URN來***標識一個實體。由于可能存在同名(姓氏也相同)的情況,所以更準確地說,人名這個例子并不是十分恰當。更為恰當的是書籍的ISBN碼和產品在系統內的序列號,盡管沒有告訴你用什么方式或者到什么地方去找到目標,但是你有足夠的信息來檢索到它。引自這篇文章:
所有的URN都遵循如下語法(引號內的短語是必須的):
< URN > ::= "urn:" < NID > ":" < NSS >
其中NID是命名空間標識符,NSS是標識命名空間的特定字符串。
一個用于理解這三者的例子
我們來看一下上述概念如何應用于與我們息息相關的互聯網。
再次引用Wikipedia ,這些引文給出的解釋,比上面人員地址的例子更為專業:
關于URL:
URL是URI的一種,不僅標識了Web 資源,還指定了操作或者獲取方式,同時指出了主要訪問機制和網絡位置。
關于URN:
URN是URI的一種,用特定命名空間的名字標識資源。使用URN可以在不知道其網絡位置及訪問方式的情況下討論資源。
現在,如果到Web上去看一下,你會找出很多例子,這比其他東西更容易讓人困惑。我只展示一個例子,非常簡單清楚地告訴你在互聯網中URI 、URL和URN之間的不同。
我們一起來看下面這個虛構的例子。這是一個URI:
http://bitpoetry.io/posts/hello.html#intro
我們開始分析
http://
是定義如何訪問資源的方式。另外
bitpoetry.io/posts/hello.html
是資源存放的位置,那么,在這個例子中,
#intro
是資源。
URL是URI的一個子集,告訴我們訪問網絡位置的方式。在我們的例子中,URL應該如下所示:
http://bitpoetry.io/posts/hello.html
URN是URI的子集,包括名字(給定的命名空間內),但是不包括訪問方式,如下所示:
bitpoetry.io/posts/hello.html#intro
就是這樣。現在你應該能夠辨別出URL和URN之間的不同。
如果你忘記了這篇文章的內容,至少要記住一件事:URI可以被分為URL、URN或兩者的組合。如果你一直使用URI這個術語,就不會有錯。
到此,相信大家對“編程語言中URL、URI和URN三者之間的區別是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。