URI是什么意思和URL有什么区别与联系
诺丁科技2023-08-310
“在电脑术语中Uniform Resource Identifier即指统一资源标识符,缩写为URI是用来标识互联网资源名称的字符串,URL是统一资源定位符Uniform Resource Locator的缩写。那么URI与URL之间有着什么样的联系?统一资源标识符与统一资源定位符的区别在哪里?”
Web上任一可用的HTML文档、图像、视频以及程序等资源,均由统一资源标识符URI进行定位,而URL统一资源定位符(Uniform Resource Locator)与URN统一资源名称(Uniform Resource Name)都是URI的子集。也就是说URI仅仅是一种资源唯一标识的概念,而URL和URN则是资源唯一标识的具体体现。
URI可被视为统一资源定位符(URL)或者统一资源名称(URN)甚至是两者兼备,但URN是对事物身份标识的定义,而URL则提供了查找该事物的方法。也就是说URN仅用于命名而不指定地址,而URL指定了资源所在位置信息,因此Web上地址的基本形式是URI,但URL却是目前URI最普遍的表现形式。
URI格式
完整的URI格式由URI协议名、冒号及协议对应的内容所构成,不同协议由其语法和语义构成特定的内容,但所有的协议都必须遵循一定的URI文法通用规则,同时为某些专门目的而保留部分特殊字符。
[协议名]://[用户名]:[密码]@[服务器地址]:[服务器端口号]/[路径]?[查询字符串]#[片段ID]
1)协议名
常见的有http超文本传输协议、ftp文件传输协议、mailto电子邮件协议和file本地文件传输协议
2)用户名与密码
对从服务器端获取资源的用户进行身份信息验证。
3)服务器地址
指定需要访问的服务器地址,可以是norting.cn这种能被DNS解析的域名,也可以是 192.168.1.1这类IPv4地址名或被方括号[]括起来的IPv6地址名。
4)服务器端口号
用于指定服务器连接的网络端口号,若用户省略则自动使用默认端口号,比如HTTP的80端口、HTTPS的443端口、FTP的21端口等。
5)路径
即带层次的文件路径指定服务器上特定资源的具体地址,类似于UNIX系统的文件目录结构。
6)查询字符串
使用查询字符串传入任意参数,提供给路径对应的文件(PHP、JSP等)使用。
7)片段ID
即使用片段标识符标记路径所对应的资源内某个位置。
WEB中统一资源定位符URL即包含协议名(HTTP或HTTPS)、服务器地址(默认端口可省略)以及路径(代表资源在服务器上的具体地址)三个部分。
URI与URL之间的联系在于都是对互联网资源的唯一性标识,但URI是基于不同应用场景下对互联网资源进行唯一标识的普遍适用性体系研究,也就是说URL即是URI的一个子集同时也是一种具体的URI表现形式。
尽管URL是现阶段WEB场景下对URI的最佳应用,但是遇到服务器信息资源的存放位置发生变化时,必须及时对URL作出相应的改变。也就是说统一资源定位符URL(Uniform Resource Locator)、统一资源名称URN(Uniform Resource Name)甚至统一资源引用符URC(Uniform Resource Citation)都是URI信息资源标识机制下的产物,而URI也在不断研究弥补不同标识应用中的缺点。