URL,URI和URN的理解
我想很多人和我一样弄不清楚URI和URL之间的区别,有人可能觉得这是统一概念的不同表述而已。
我们先看看定义:
URI:Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源。
URL:Uniform Resource Locator,统一资源定位符。即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URN:Uniform Resource Name,统一资源命名。即通过名字来表示资源的。
好了定义看完了,可能还是不理解下面我们就详细说说三者的区别和用途。
URL肯定是一个URI,但是一个URI并不一定是一个URL,URL仅仅是URI的一种表现形式而已。两者的差距主要可以从命名上来区分,URI是资源标志符,所有他只要求具有"标识性",而URL是和URI的主要区别就是,URL除了具有URI的“标识性”以外,还具有定位功能,可以用来描述资源的具体位置,还指明了获取资源所采用的协议。一个完整的URL包含协议名称,主机名称(IP或者域名)、端口号(没写端口号默认 为80端口)、路径和查询字符串这5个部分。比如:http://www.microsoft.com:80/images/hello.png?type=png.这样一个url,上述的5个部分分别是:网络传输协议名称:http,主机:www.mcrosoft.com,端口号:80,路径:images/hello.png 查询字符串:type=png。
看完了URL和URI的区别,我们在看看URN是什么东西。URN也是URL的一种表现形式,它和URL的区别就是与资源的位置无关,正式由于位置的无关性,被某个URN标识的资源在位置发生变化时,其URI可以保持不变。
所以看来URL和URN都是URI的一种扩展,一种表现形式,URL和URN肯定是一个URI,但是URI不一定是URN或URL。