侧重点不同

URI 在于I(Identifier)是统一资源标示符,可以唯一标识一个资源。

URL 在于Locater,是统一资源定位符,提供找到该资源的确切路径

URI不要求确切的格式,只要能在一定条件下唯一标识一个资源即可,比如你是一名在读大学生,身份证号123456,学号654321,就读于xx大学yy学院zz专业,那么在Q国用来标识你的URI可以是:

1)身份证号:123456
2)/xx大学所在省/市/xx大学/yy学院/zz专业/654321

这两种方式都成功的在中国境内标识了你这个唯一的人
这里一直强调“Q国境内”,在于URI可以是相对的,也可以是绝对的

简单来说,URI强调一定条件下进行唯一标识,这里的“一定条件”如上述“Q国境内”,若把范围扩大到整个地球,相当于网络中的绝对URI(也是URL,且URL只能是绝对的),并以web网址的形式描述一下呢:

人类查找协议://地球/Q国/xx大学所在省/市/xx大学/yy学院/zz专业/654321

这也是一个URI,同时它也是URL,URL强调定位,即通过某路径确切找到资源,确保可以访问到资源,而URI强调标识。
总结一下:
1)URL是URI的子集,我们所看到的URL是一种特殊的URI,它是URI的一种实现形式,也即一个URL一定是一个URI,但URI不一定是URL
2)URL是绝对的,于整个网络而言,一个提供访问到确切资源的链接是一个URL(也属于URI)
3)URI既有相对性又有绝对性,从RFC 3986 的 4.2. Relative Reference来看:

没有最前面的scheme(就是http:, ftp: 之类的)的URI都是相对引用,www.example.com/abc.html也是个相对引用。相对引用又分为 绝对路径引用 和 相对路径引用,这个划分就和我们分辨文件系统中的相对/绝对路径差不多了: 以 ‘/’ 开头的就是绝对路径引用,否则就是相对路径引用

关于URI的相对性(一定条件)便于理解可以这么来记:
如一个URL(绝对URI):
http://aa/bb/cc/dd/ee/1.html
相对于http://aa/bb/cc/dd,这个1.html文件的URI就是/ee/1.html
相对于http://aa/bb,这个1.html的URI就是/cc/dd/ee/1.html

一文搞懂URI与URL相关推荐

  1. 一次搞懂 URI、URL、URN

    一次搞懂 URI.URL.URN 文章目录 一次搞懂 URI.URL.URN 简介 参考 正文 名词解释 URI 格式 URL 格式 URN 格式 结语 简介 在使用网络相关的 API 又或是信息传输 ...

  2. 一文搞懂 Python 的 import 机制

    一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...

  3. 一文搞懂什么是 PostCSS

    一文搞懂什么是 PostCSS 在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演 ...

  4. 一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  5. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  6. 一文搞懂 Java 线程中断

    转载自   一文搞懂 Java 线程中断 在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程 ...

  7. 一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm

    ***一文搞懂HMM(隐马尔可夫模型)*** 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序, ...

  8. 一文搞懂如何使用Node.js进行TCP网络通信

    摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...

  9. 【UE·蓝图底层篇】一文搞懂NativeClass、GeneratedClass、BlueprintClass、ParentClass

    本文将对蓝图类UBlueprint的几个UClass成员变量NativeClass.GeneratedClass.BlueprintClass.ParentClass进行比较深入的讲解,看完之后对蓝图 ...

  10. 一文搞懂AWS EC2, IGW, RT, NAT, SG 基础篇下

    B站实操视频更新 跟着拉面学习AWS--EC2, IGW, RT, NAT, SG 简介 长文多图预警,看结论可以直接拖到"总结"部分 本文承接上一篇文章介绍以下 AWS 基础概念 ...

最新文章

  1. 用计算机画函数图像教案,信息技术应用 用计算机画函数图象教案1
  2. scala 自带json_scala中复杂对象转JSON和解析的方法
  3. java项目端口号异常_Pyspark:异常:Java网关进程在向驱动程序发送其端口号之前退出...
  4. 【POJ - 1050】To the Max (dp)
  5. 令人难以置信的竞争性编程-您无需学习
  6. 【带着canvas去流浪(11)】Three.js入门学习笔记
  7. shell export 命令
  8. Java设计模式学习总结(4)——创建型模式之单例模式
  9. CentOS 利用Yum安装mysql后无法启动(MySQL Daemon failed to start.)
  10. Kubelet 对资源紧缺状况的应对
  11. ASP.NET MVC 3 - 部分vs显示模板与编辑器模板
  12. express中间件和路由教程
  13. 关于cuda驱动版本以及cuda运行版本不匹配的问题
  14. 某些网页页面偏左,什么原因?
  15. 怎么做有内容的二维码?二维码在线制作教程
  16. AutoRun机制详解
  17. NBA2K18手游显示无法连接服务器,nba2k18手游交易被拒绝 | 手游网游页游攻略大全...
  18. 155个JavaScript基础问题(126-135)
  19. 7-4 输出两行短句 (10分)
  20. 记录下:订单模块初步完成

热门文章

  1. 莫烦 Python Pandas
  2. SAP FICO财务模块FI财务CO成本视频教学教程(基础+进阶+高级篇)
  3. php 检测字符长度,php验证字符串长度问题
  4. HTML之我的个人主页
  5. idea 格式化代码时, 不换行
  6. 目标检测数据集标注工具LabelImg从安装到使用详解
  7. 计算机专业课考研八月份复习,2016考研:计算机专业暑期复习攻略
  8. PHP仿给你花分期小额贷款平台源码
  9. python 算法课件_分析《Python+TensorFlow机器学习实战》PDF代码课件+《Python深度学习》PDF代码张量...
  10. Docker容器-cgroups资源配置