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 相关文章推荐
javascript自然分类法算法实现代码
Oct 11 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
JavaScript数组去重算法实例小结
May 07 Javascript
node中modules.exports与exports导出的区别
Jun 08 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
Vue路由history模式解决404问题的几种方法
Sep 29 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
Feb 21 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 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 fread()使用技巧
2010/01/22 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
javascript基础知识
2016/06/07 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
人力资源经理自我评价
2014/01/04 职场文书
小学课外阅读总结
2014/07/09 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
大学副班长竞选稿
2015/11/21 职场文书
九年级历史教学反思
2016/02/19 职场文书
MySQL8.0的WITH查询详情
2021/08/30 MySQL
MYSQL常用函数介绍
2022/05/05 MySQL