我想很多人和我一样弄不清楚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。

URL,URI和URN的理解的更多相关文章

  1. 什么是URL,URI或URN?

    什么是URI? 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了. 服务器资源名被称为统一资源标识符(Uniform Resource Identifier, URI). ...

  2. URI与URN与URL详解

    当没有URI时 什么是URI和URN和URL URI详解 Uniform Resource Identifier 统一资源标识符 URI的组成 案例: https://tools.ietf.org/h ...

  3. URL与URI与URN的区别与联系

    1.什么是URL? 统一资源定位符(或称统一资源定位器/定位地址.URL地址等[1],英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址).如同在网 ...

  4. web应用 http 响应 url uri

    动态web  应用结构 WEB-INF --classes --lib web.xml     响应:   url   uri

  5. 【HTML/XML 12】URI、URN、URL的联系和区别

    导读:在学习XML的时候,书中有很多个地方都提到URL等几个概念,再之前做项目的时候,重定向或是转发时,也用到了这个URL,在学习Ajax时,ajax破坏了统一资源定位(URN)都或多或少的接触到了这 ...

  6. URL、URI和URN三者之间的区别

    URI   统一资源标识符 Uniform Resource Identifier URL      统一资源定位符     Uniform Resource Locator URN     统一资源 ...

  7. URL, URI, URN三者区别

    URL和URN都是URI的子集 URL和URN都是URI,但是URI不一定是URL或者URN URI,URL,URN关系图 关于URL: URL是URI的一种,不仅标识了Web 资源,还指定了操作或者 ...

  8. URL URI URN的区别

    下面这张图可以完美的解释他们三者之间的关系 URI包含URL和URN Uniform Resource Identifier :统一资源标志符,用于标识某一互联网资源 Uniform Resoutce ...

  9. URL、URI、URN之间的区别

    URL统一资源定位符 URI统一资源标识符 URN统一资源名称 URL是URI的一个特例. URI由URL和URN两部分组成. 在java类中,URI类不包含任何访问资源的方法,它唯一的作用就是解析. ...

随机推荐

  1. [翻译]理解Ruby中的blocks,Procs和lambda

    原文出处:Understanding Ruby Blocks, Procs and Lambdas blocks,Procs和lambda(在编程领域被称为闭包)是Ruby中很强大的特性,也是最容易引 ...

  2. MySQL3:索引

    什么是索引 索引是对数据库表中一列或者多列的值进行排序的一种结构,所引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花 ...

  3. dojo Provider(script、xhr、iframe)源码解析

    总体结构 dojo/request/script.dojo/request/xhr.dojo/request/iframe这三者是dojo提供的provider.dojo将内部的所有provider构 ...

  4. 团队项目——站立会议 DAY8

    第八次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:在反复修改和审查后,处理功能模块代码出错处,完善并运行. 2.钟灵毓秀:再次检查代码,运行报错处的代码修改 ...

  5. windows 8.1 试用感受:蛋疼感大幅降低

    众所周知windows 8 的最大使用感受就是蛋疼. 无论是微软MVP,还是我这样的万年不悔微软小白鼠,普通用户,小白用户,或多或少的都对这款操作系统感到蛋疼. 槽点太多,以至于大家都懒得批判了.好在 ...

  6. KindEditor编辑器For DotNet控件

    KindEditor很不错,刚接触不久,非常喜欢.KindEditor网站有ForPHP等扩展的,没有ForNet的. 我是搞.net开发的,就用它简单封装了一个控件,拖过来即可使用,使用更加简单.源 ...

  7. 让Redis在你的系统中发挥更大作用的几点建议

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/105.html?1455868313 Redis在很多方面与其他数据库解决 ...

  8. 说说设计模式~门面模式(Facade)

    返回目录 门面模式(Facade)属于结构型模式的一种,它符合面向对象的封装原则,但又不符合开闭原则,呵呵,今天我们主要说它的优点,不谈缺点. 定义 门面模式,是指提供一个统一的接口去访问多个子系统的 ...

  9. EF架构~扩展一个分页处理大数据的方法

    回到目录 最近总遇到大数据的问题,一次性处理几千万数据不实际,所以,我们需要对大数据进行分块处理,或者叫分页处理,我在EF架构里曾经写过类似的,那是在进行BulkInsert时,对大数据批量插入时候用 ...

  10. NFC:Arduino、Android与PhoneGap近场通信

    NFC:Arduino.Android与PhoneGap近场通信(第一本全面讲解NFC应用开发的技术著作移动智能设备近距离通信编程实战入门) [美]Tom Igoe(汤姆.伊戈),Don Colema ...