當談起URL、URI、URN時,仿佛他們是不同的東西,但是單憑肉眼來看,他們看起來似乎又是一樣的。
那麼,他們之間有什麼明顯差別呢?
(以下摘自stackoverflow網友回答)
1.Roger Pate網友
URI用于識别,URL用于定位;然而,定位符通常也是辨別符,是以每一條URL也是一個URI,但卻有一些URI并不能稱作URL。
一些執行個體:
Roger Pate
我的名字Roger Pate是一個辨別符。這就像是一個URI,但卻不能是一條URL,因為通過它你不會知道我的住址或者是聯系方式。這樣的話,僅在美國就會比對到至少五個和我名字一樣的人。
4914 West Bay Street, Nassau, Bahamas(巴哈馬拿騷市西灣街4914号)
這是一個地點,一個實體位置的辨別符。它既像一條URL又像一個URI(因為URL即URI),又間接地确認我是一個住在西灣街4914号的居民。在這個案例中,我的居住位址唯一地辨別了我,但是要是我有一個舍友的話就另當别論了。
我之是以用"像"是因為這些例子并不按照所需的文法。
常見的混淆
以下引自維基百科
1
2
3
<code>在計算機中,一個統一資源定位符(URL)是統一資源辨別符(URI)的子集,它指定了一個已辨別的可</code>
<code>用資源及檢索機制。在流行的習慣用語、許多技術文檔以及口頭語言中,URL常常被錯誤地當成URI的同</code>
<code>義詞使用。...(我加上的重點)</code>
由于這兩個詞太容易混淆,許多産品及文檔都錯誤地使用其中一個詞代替另外一個,指定他們自己的差別,或者把他們當同義詞使用。
URNs
除了那些更受管制,并打算在空間和時間也必須是唯一的這些情況外,我的名字Roger Pate就可以說是一個統一資源名稱(Uniform Resource Name)。
因為我現在與别人都使用這個叫做"Roger Pate"的名字,這個名字就不是全球唯一的了,也就不适合稱作一個URN了。然而,即使沒有其他家庭使用此名字,我是以我祖父的名字命名的,那麼在時間上我的名字也就不是唯一的。即使事實上并非如此,我以我的名字命名我後代的可能性也讓其不适合作為一個URN。
URN有别于有着嚴格唯一性限制的URL,雖然二者都遵循URI的文法。
2.Stephen Ostermiller網友
URI -- 統一資源辨別符
URI是使用一小串數字、字母和符号來識别文檔的标準。它是在RFC 3986定義的:URI指的是通用句法。所有的URL、URN及URC都是URI。
URL -- 統一資源定位符
URL中包含了如何通過其位置來擷取資源的資訊。例如:
http://example.com/mypage.html
ftp://example.com/download.zip
mailto:[email protected]
file:///home/user/file.txt
tel:1-888-555-5555
http://example.com/resource?foo=bar#fragment
/other/link.html (一個相對URL,隻有在另外一個完整的URL上下文中才有用)
URL總是以一個協定頭開始,通常包括諸如主機名(example.com)和一個檔案路徑(/foo/mypage.html)。URL可能也會有查詢參數及片段識别符。
URN -- 統一資源名稱
URN通過一個唯一及持續的名字來辨別資源,但卻不必告訴你如何在網絡上定位到它。它通常是以一個urn字首的開頭的。例如:
urn:isbn:0451450523 to identify a book by its ISBN number.
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 a globally unique identifier
urn:publishing:book - An XML namespace that identifies the document as a type of book.
URN可以識别想法和概念。他們并不限于識别檔案。當一個URN代表一個檔案時,它可以被一個解析器轉換成一條URL。然後這個檔案就這個用轉換後的URL下載下傳了。
URC -- 統一資源引用符
Data URI
我們可以直接将資料放到一個URI中,而不是在網際網路上定位或命名它。一個資料URI:data:,Hello%20World。
3.幾張圖表帶你更進一步了解三者關系
<a href="https://s3.51cto.com/wyfs02/M01/8E/8C/wKioL1jFCtahHsYcAAGIzNbW2yc512.png" target="_blank"></a>
本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1905492,如需轉載請自行聯系原作者