URL、URN、URI區別
我們都知道Web應用程序的文件等資源是放在服務器上的,而服務器又是因特網上的主機,所以必須要有個方式,告訴瀏覽器到哪個主機的哪個位置去取得資源文件。可能你會說“需要指定URL”、“需要制定URI”,甚至“需要指定URN”。那URL、URI、URN到底是啥呢?
URL、URN、URI這三個名詞都是縮寫,其全名分別爲:
- URL:Uniform Resource Locator
- URN: UniformResource Name
- URI:Uniform Resource Identifier
爲了標識互聯網上的資源,首先出現的是URL這個名詞。早期的U代表Universal(萬用),標準化之後代這Uniform(統一)。正如名稱所指,URL的主要目的,是以文字的方式來說明互聯網上的資源如何取得。一般而言,URL的主要格式爲:
<協議>:<協議特定部分>
協議(scheme)指定了了以何種方式取得資源,常見的協議名有:
- ftp:文件傳輸協議, File Transfer Protocol
- http:超文本傳輸協議,HyperText Transfer Protocol
- mailto:電子郵件
- file:特定主機文件名
協議之後跟隨冒號,特定協議部分的格式則爲:
- <用戶>:<密碼>@<主機>:<端口號>/<路徑>
- <域名>/<路徑>
例如,http://channel.jd.com/fashion.html表示,我們要取得“channel.jd.com”所指向的服務器的某個位置下,名稱爲fashion.html的文件。
再比如,我要取得計算機C盤下test文件下下的log.txt文件,則URL格式爲file://C:/test/log.txt
簡而言之,URL代表資源的地址信息,而URN代表什麼呢?URN是在URL出現之後被定義的,它代表互聯網上某個資源獨一無二的名稱。
我們發現使用URL的方式來標識互聯網上的資源不僅麻煩,而且不容易記錄,例如我們要找互聯網上某個服務器上的某個文件夾下的某本電子書,而這本電子書在其他服務器上可能也會存在,即在互聯網上好多服務器都存着這本電子書,那這本電子書就會有很多URL與其對應,但是這本電子書的內容都是一樣的,所以這個時候就需要一個標識,用來說明這本電子書無論在哪個服務器上,它都是一樣的,這個標識就叫URN。
再舉個例子,某本書的國際標準書號(International Standard Book Number, ISBN)爲ISBN987-7-525-25633-9,這就是URN的一個例子。這有點類似與現在的MD5值,每個文件都有其獨一無二的MD5值。
由於URL或URN的目的,都是用來標識某個資源,後來制定了URI,用來統一URL和URN。在一些標準機構如W3C(World Wide Web Consortium)文件中,大多使用URI這個名詞來標識資源。不過許多人已習慣使用URL,所以URL仍是最常用的資源標識方式。