URI、URL和URN之间的区别与联系


Posted in Javascript onDecember 20, 2006

URI:Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。
其中,URL,URN是URI的子集。
Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:
URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。
URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。
URI是以某种统一的(标准化的)方式标识资源的简单字符串。
URI一般由三部分组成:
1. 访问资源的命名机制。 
2. 存放资源的主机名。 
3. 资源自身的名称,由路径表示。 
典型情况下,这种字符串以scheme(命名URI的名字空间的标识符——一组相关的名称)开头,语法如下:
[scheme:] scheme-specific-part 
URI以scheme和冒号开头。Scheme用大写/小写字母开头,后面为空或者跟着更多的大写/小写字母、数字、加号、减号和点号。冒号把scheme与scheme-specific-part分开了,并且scheme-specific-part的语法和语义(意思)由URI的名字空间决定。如下面的例子:
http://www.cnn.com,其中http是scheme,//www.cnn.com是 scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。
URI有绝对和相对之分,绝对的URI指以scheme(后面跟着冒号)开头的URI。前面提到的http://www.cnn.com就是绝对的URI的一个例子,其它的例子还有mailto:jeff@javajeff.com、news:comp.lang.java.help和xyz://whatever。你可以把绝对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依赖。如果使用文件系统作类比,绝对的URI类似于从根目录开始的某个文件的径。 
与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。 它的一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用某种资源,而这种方式依赖于标识符出现的环境。如果用文件系统作类比,相对的URI类似于从当前目录开始的文件路径。

URL是Uniform Resource Location的缩写,译为"统一资源定位符"。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。 
URL的格式由下列三部分组成: 
第一部分是协议(或称为服务方式); 
第二部分是存有该资源的主机IP地址(有时也包括端口号); 
第三部分是主机资源的具体地址。,如目录和文件名等。 
第一部分和第二部分之间用"://"符号隔开,第二部分和第三部分用"/"符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
目前最大的缺点是当信息资源的存放地点发生变化时,必须对URL作相应的改变。因此人们正在研究新的信息资源表示方法,例如:URI(Universal Resource Identifier)即"通用资源标识"(参见RFC 1630)、URN(Uniform Resource Name)即"统一资源名"和URC(Uniform Resource Citation)即"统一资源引用符"等。
URI目前还处在进一步的研究当中。研究的方向就是弥补URL目前存在的缺点。

Javascript 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
js动态为代码着色显示行号
May 29 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
Sep 25 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 Javascript
Node.js开发第三方微信公众平台
Jun 05 Javascript
js 提取某()特殊字符串长度的实例
Dec 06 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
Feb 25 Javascript
Javascript SHA-1:Secure Hash Algorithm
Dec 20 #Javascript
Code:findPosX 和 findPosY
Dec 20 #Javascript
Javascript MD4
Dec 20 #Javascript
用JavaScript获取网页中的js、css、Flash等文件
Dec 20 #Javascript
取得一定长度的内容,处理中文
Dec 20 #Javascript
解决FLASH需要点击激活的代码
Dec 20 #Javascript
用 JavaScript 迁移目录
Dec 18 #Javascript
You might like
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
jquery插件开发方法(初学者)
2012/02/03 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JS验证不重复验证码
2017/02/10 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
python 统计列表中不同元素的数量方法
2018/06/29 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
安全教育感言
2014/03/04 职场文书
班级年度安全计划书
2014/05/01 职场文书
软件售后服务承诺书
2014/05/21 职场文书
挂职学习心得体会
2014/09/09 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
歌咏比赛主持词
2015/06/29 职场文书
大学生读书笔记范文
2015/07/01 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL