URL和URI的区别及理解
URI包括URL和URN两个类别,URL是URI的子集,所以URL一定是URI,而URI不一定是URL
URI = Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串。
URL = Universal Resource Locator 统一资源定位符,一种定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。
URN = Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。
举个栗子:
个人的身份证号就是URN,个人的家庭地址就是URL,URN可以唯一标识一个人,而URL可以告诉邮递员怎么把货送到你手里。
再举个栗子:
https://blog.csdn.net/GTQ28是个URL,通过这个网址可以告诉CDN找到我的博客所在地,并且还告诉用HTTP协议访问。
详细说明
一、URI
<1>什么是URI
URI,统一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如
HTML文档、图像、视频片段、程序等都由一个URI进行标识的。
<2>URI的结构组成
URI通常由三部分组成:
①资源的命名机制;
②存放资源的主机名;
③资源自身的名称。
(注意:这只是一般URI资源的命名方式,只要是可以唯一标识资源的都被称为URI,上面三条合在一起是URI的充分不必要条件)
二、URL
URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。
通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。
采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL是URI概念的一种实现方式。
URL的一般格式为(带方括号[]的为可选项):
protocol : // hostname[:port] / path / [;parameters][?query]#fragment
URL的格式由三部分组成:
①第一部分是协议(或称为服务方式)。
②第二部分是存有该资源的主机IP地址(有时也包括端口号)。
③第三部分是主机资源的具体地址,如目录和文件名等。
第一部分和第二部分用“: //”符号隔开,
第二部分和第三部分用“/”符号隔开。
第一部分和第二部分是不可缺少的,第三部分有时可以省略。
<3>URL举例
如:https://blog.csdn.net/GTQ28
我们可以这样解释它:
①这是一个可以通过https协议访问的资源,
②位于主机 blog.csdn.net上,
③通过“GTQ28”可以对该资源进行唯一标识(注意,这个不一定是完整的路径)
三、URI和URL之间的区别
从上面的例子来看,你可能觉得URI和URL可能是相同的概念,其实并不是,URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。
四、通俗说
统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。
拿人做例子,假设这个世界上所有人的名字都不能重复,那么名字就是URI的一个实例,通过名字这个字符串就可以标识出唯一的一个人。现实当中名字当然是会重复的,所以身份证号才是URI,通过身份证号能让我们能且仅能确定一个人。
那统一资源定位符URL是什么呢。也拿人做例子然后跟HTTP的URL做类比,
就可以有:动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人
可以看到,这个字符串同样标识出了唯一的一个人,起到了URI的作用,所以URL是URI的子集。URL是以描述人的位置来唯一确定一个人的。
URL和URI的区别及理解相关推荐
- 通熟理解urL和urI的区别
转载自:https://blog.csdn.net/simplebam/article/details/72644094 关于URL和URI的区别,个人见解. 初学java,最近被一个概念搞得头晕脑胀 ...
- URL和URI的区别 【转】
2019独角兽企业重金招聘Python工程师标准>>> URL和URI的区别 [转] 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还是英文啊,靠 ...
- 一招明白URL和URI的区别
URL和URI的区别(示例): URL[统一资源定位器]: http://localhost:8080/api/account/queryAccountInfo URI[统一资源定位符]: /api/ ...
- 【转】URL和URI的区别
[转]URL和URI的区别 译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还 ...
- URL和URI 的区别
对于很多刚入门web开发的程序员新人,相信都有过对URL和URI 区分困扰的时候,似乎两者是一体的.对于两者的区别,我当时也是处于糊里糊涂的状态.下面,来简明说明下区分两者的要点,扫清对他们的困扰. ...
- URN、URL、URI的区别
三者关系: URI(Uniform Resource Identifier ):统一资源标识符,就是在某一规则下能把一个资源独一无二地标识出来. URL(Uniform Resource Locato ...
- url与uri的区别
uri包含url,但并不是所有的uri都是url,url中一定要有协议,比如ftp, http, https等,如下图: 转载于:https://www.cnblogs.com/wlemory/p/5 ...
- 你知道URL、URI和URN三者之间的区别吗?
这是一个经典的技术争论,许多人都会自问:URL.URI,很可能还有URN,它们之间的区别是什么.虽然,现在我们简单地把 URN 和 URL 都看做 URI,但严格来说URI可以进一步划分为URL.UR ...
- URI,URL,URN的区别
URI: Uniform Resource Identifier URL: Uniform Resource Locator URN: Uniform Resource Name URI是其他两者的超 ...
- URI、URL和URN的区别和联系
什么是URI.URL.URN? URI(Uniform Resource Identifier ):统一资源标识符.URI类似于资源的 id,一个URI能够标识唯一一份资源,但反之则未必. URL(U ...
最新文章
- [51单片机学习笔记ONE]-----LED灯的多种使用方法
- .net中关键字new的用法
- 【最全PPT下载+直播回放】DTCC 2019:阿里云数据库8大要点精彩回顾
- Linux笔记-shell遍历数组并判断是否等于某个值
- OCR常见问题(4)
- Flutter进阶—实现动画效果(七)
- lucene: 索引建立完后无法查看索引文件中的数据
- python神奇功能_16个你毫不知道的Python神奇技能
- bzoj 1681: [Usaco2005 Mar]Checking an Alibi 不在场的证明(BFS)
- 9. PHP 字符串
- 电源大师课笔记 1.5
- oracle 索引个数限制,oracle索引详解
- python入门汇总
- java抖音字符视频_java爬取新版抖音无水印视频教程(2020/09/14附带java代码)
- 论文整理:Probabilistic Logic Neural Networks for Reasoning
- DES加密解密base64转码和iphone平台一致结果
- 微信小程序上传文件到阿里OSS教程
- socket套接字各个接口
- python使用xlwings库操作Excel常见操作
- 使用代理抓取反爬微信文章
热门文章
- python通信系统仿真_Python与V-REP联合仿真
- python图片保存pdf_python将图像保存为pdf及图片
- 小米pro gtx右下角存在图标显示不全
- python文档中文版下载,python帮助文档中文版
- app软件测试用例文档模板,最好用的软件测试用例模板一详细用例(经典)-20210630010251.pdf-原创力文档...
- 《水经注全国POI兴趣点1.0》发布
- 使用URLOS在linux系统中极速部署NFS共享存储服务
- java100集视频_上百集课程JAVA区块链开发视频教程
- SM2算法全套(基于GMSSL)
- 元胞自动机及其MATLAB实例