URI: Uniform Resource Identifier 统一资源标识符

用于标识某一互联网资源名称的字符串,该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI 有包括确定语法和相关协议的方案所定义。

​URI 的格式由 URI 协议名(例如 http, ftp, mailto, file),一个冒号,和协议对应的内容组成。特定的协议定义了协议内容的语法和语义,而所有的协议都必须遵循一定的 URI 文法通用规则。URI 文法同时也就各种原因对协议内容加以其他的限制,例如,保证各种分层协议之间的协同性。百分号编码也为 URI 提供了附加信息。

​通用 URI 的格式如下:

[协议]://[用户名]:[密码]@[主机名]:[端口]/[路径]?[查询参数]#[片段 ID]

注:用户名和密码(即用户信息)、端口、查询参数、片段ID可选。

下面是两个 URI 示例以及组成部分:

                    hierarchical part
┌───────────────────┴─────────────────────┐
authority path
┌───────────────┴───────────────┐┌───┴────┐
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
└┬┘ └───────┬───────┘ └────┬────┘ └┬┘ └─────────┬─────────┘ └──┬──┘
scheme user information host port query fragment

urn:example:mammal:monotreme:echidna
└┬┘ └──────────────┬───────────────┘
scheme path

URL: Uniform Resource Locator 统一资源定位符

一种具体的 URI,即 URL 可以用来标识一个资源,而且还指名了如何 locate(定位)这个资源。通俗的讲,URL 是 Internet 上用来描述资源的字符串,标识了一个互联网资源,并指定了对其进行操作或者获取资源的方法。目前最大的缺点是当信息资源的存放地点发生变化时,必须对 URL 作出相应的改变。

区别

URI 指的是一个资源,URL 指的是用地址定位一个资源。

#yyds干货盘点#前端基础URI和URL_字符串

也就是说URL是URI的一个子集。