uri 和 url有什么不一样

本文多是收集资料,参考文章如下:
https://www.jianshu.com/p/ba15d066f777
https://danielmiessler.com/study/difference-between-uri-url/
https://www.cnblogs.com/chengdabelief/p/6635045.html

概念

相信大家都听过 URI 和 URL ,之前以为两个只是名字不相同,那么浏览器里面地址栏是什么呢,是URI 还是 URL?

先来看下两者的概念:

URI : Universal Resources Identifer 统一资源标志符
URL: Universal Resources Locator 统一资源定位符
再增加一个概念:
URN: Universal Resource Name 统一资源名称

维基百科描述:

“URI可以分为URL,URN或同时具备locators 和names特性的一个东西。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式。”

在这里插入图片描述

细说其区别

先来看个例子,一个人的唯一标识是什么?我们能想到身份证号,通过身份证号能让我们能且仅能确定一个人,所以身份证号:6103829999 可以理解为URI,那么还可以根据这个人的物理地址来找个这个人。例如,人群住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人,哈哈这个住址格式是不是像极了 HTTP 的 URL 地址。是的,这个住址可以理解为 URL。

结论:
  1. URI,是统一资源标识符,是一种更高层次抽象的概念,用来唯一的标识互联网中的抽象或物理资源的字符串。
  2. URL是统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locator这个资源,让URI能成为URL的当然就是那个“访问机制”,“网络位置”。e.g.http:// 或者 ftp://. ,所以我们常见的浏览器地址栏内容还是称为 URL 更合适一些。
  3. URN,统一资源命名,是通过名字来标识资源比如mailto:java-net@java.sun.com,就是一个特殊的名字。
  4. URL和URN都是一种URI,URL和URN则是具体的资源标识的方式。

例子,来自权威的RFC:

  • ftp://ftp.is.co.za/rfc/rfc1808.txt (also a URL because of the protocol)
  • http://www.ietf.org/rfc/rfc2396.txt (also a URL because of the protocol)
  • ldap://[2001:db8::7]/c=GB?objectClass?one (also a URL because of the protocol)
  • mailto:John.Doe@example.com (also a URL because of the protocol)
  • news:comp.infosystems.www.servers.unix (also a URL because of the protocol)
  • tel:+1-816-555-1212
  • telnet://192.0.2.16:80/ (also a URL because of the protocol)
  • urn:oasis:names:specification:docbook:dtd:xml:4.1.2

这些全都是URI, 其中那些提供了访问机制的是URL。

各自的组成
  1. URI
    Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的;
    URI一般由三部组成

①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。

  1. URL
    URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。
    采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
    URL一般由三部组成

①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值