URL、URN、URI区别

既然Web应用程序的文件等资源是放在服务器上,而服务器是因特网(Internet)上的主机,当然必须要有个方法,告诉浏览器到哪里取得文件等资源。通常会听到有人这么说:“你要指定URL”,偶尔会听到有人说:“你要指定URI”。那么到底什么是URL、URI?甚至你还听过URN。首先,三个名称都是缩写,其全名分别为:

  • URL:Uniform Resource Locator
  • URN:Uniform Resource Name
  • URI:Uniform Resource Identifier

从历史的角度来看,URL的标准最先出现,早期U代表Universal(万用),标准化之后代表着Uniform(统一)。正如名称所指出,URL的主要目的,是一文字方式来说明因特网上的资源如何获得。一般而言,URL的主要格式为:

<协议>:<特定协议部分>

协议(scheme)指定了以何种方式取得资源。一些协议名的例子有:

  • ftp(文件传输协议,File Transfer Protocol)
  • http(超文本传输协议,Hypertext Transfer Protocol)
  • mailto(电子邮件)
  • file(特定主机文件名)

协议之后跟随冒号,特定协议部分的格式则为:

//<用户>:<密码>@<主机>:<端口号>/<路径>

举例来说,若资源放置在HTTP服务器上,如图1.2所示:

若主机名为 openhome.cc,要以HTTP协议取得 Gossip 目录中的 index.html文件,端口号 8080,则必须使用以下URL(如图 1.3所示):

http://openhome.cc:8080/Gossip/index.html

又假设想取得计算机文件系统中 C:\workspace 下的jdbc.pdf 文件,则可以指定如下URL格式:

file://C:/workspace/jdbc.pdf

简而言之,URL代表资源的地址信息,URN则代表某个资源独一无二的名称。举个例子来说,“JSP&Servlet学习笔记(第2版)”的国家标准书号(International Standard Book Number,ISBN)为 ISBN 978-7-302-28366-9,这就是URN的一个例子。

由于URL或URN的目的,都是用来标识某个资源,后来的标准指定了URI,而URL与URN成为URI的子集。在一些标准机构,如W3C(World Wide Web Consortium)文件中,后来就也多使用URI这个名词,不过许多人已习惯用URL,所以URL这个名词仍广为使用,程序员口语交谈也多见使用URL这个旧称。

如果想对URL、URI 与 URN 的历史演进与标准发布作更多的了解,可以参考Wikipedia(http://www.wikipedia.org/)的Uniform Resource Identifier:

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

URL、URN、URI的区别?的更多相关文章

  1. 【转】URL和URI的区别

    [转]URL和URI的区别 译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还 ...

  2. 一招明白URL和URI的区别

    URL和URI的区别(示例): URL[统一资源定位器]: http://localhost:8080/api/account/queryAccountInfo URI[统一资源定位符]: /api/ ...

  3. URL与URI的区别和联系

    转自:https://www.cnblogs.com/chengdabelief/p/6635045.html 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念. URI = Uni ...

  4. URL 与URI 的区别

    作者:Octocat链接:https://www.zhihu.com/question/21950864/answer/89835520来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. URL和URI的区别与联系

    转自:http://win7452.blog.51cto.com/147513/45741 今天在看STRUTS配置的时候,发现一个问题,就是在看配置文件的时候,有时出现URL有时又是URI, 让我心 ...

  6. [译]URL和URI的区别

    译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还是英文啊,靠谱...). 本 ...

  7. URL 和URI的区别

    1.统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来. URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符). URI:(Unif ...

  8. 2017.11.10 web中URL和URI的区别

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

  9. URL和URI的区别和联系

         URI:Universal Resource Identifier,通用资源标识符:   URL:Uniform Resource Locator,统一资源定位符:       其中,URL ...

  10. URL和 URI 的区别

    URL:统一资源定位符 URI:统一资源标识符 URL 是 URI 的一个子集: 来源知乎 1.统一资源标识符 URI 就是在某一规则下能把一个资源独一无二的表示出来. 拿人做例子,假设这个世界上多有 ...

随机推荐

  1. BZOJ 1797: [Ahoi2009]Mincut 最小割

    1797: [Ahoi2009]Mincut 最小割 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2076  Solved: 885[Submit] ...

  2. rpc框架之 avro 学习 2 - 高效的序列化

    同一类框架,后出现的总会吸收之前框架的优点,然后加以改进,avro在序列化方面相对thrift就是一个很好的例子.借用Apache Avro 与 Thrift 比较 一文中的几张图来说明一下,avro ...

  3. echo print() print_r() var_dump()的区别

    常用调试方法 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. print()函数 ...

  4. 在iOS APP中使用H5显示百度地图时如何支持HTTPS?

    现象: 公司正在开发一个iOSAPP,使用h5显示百度地图,但是发现同样的H5页面,在安卓可以显示出来,在iOS中就显示不出来. 原因分析: 但是现在iOS开发中,苹果已经要求在APP中的所有对外连接 ...

  5. 为什么目前没有"成熟"的cookie插件?

    一.序言 最近真是挺忙的啊,导致也挺久没有时间来看看园中各位大神的文章,只能感慨业务真尼玛的多,所以在此写下一篇文章来大话最近工作和学习上面的一点点收获体会,希望大家能够有所收获,这篇文章虽然说是一篇 ...

  6. SQLite剖析之编程接口详解

    前言 使用过程根据函数大致分为如下几个过程: sqlite3_open() sqlite3_prepare() sqlite3_step() sqlite3_column() sqlite3_fina ...

  7. APP

    第一天 1.环境初步搭建 SmartSniff fiddler ddms AntiDroid Android Killer 百度方法 http://jingyan.baidu.com/article/ ...

  8. [转]struts2处理.do后缀的请求

    原文地址:http://skyuck.iteye.com/blog/545988 默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org. ...

  9. redis 学习 01(下载 学习资源)

    1. windows 版 redis 下载地址 https://github.com/MSOpenTech/redis/releases 2. redis 实战源码 http://redisinact ...

  10. 分享我的开源项目-springmore

    之前有在博客园分享过springmore,不知道是什么原因,被管理员移除首页 在此郑重声明,这是我个人的开源项目,东西不多,也不存在打广告,也没有什么利益可图 完全是出于分享的目的,望博客园管理员予以 ...