携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
在某些情况下,URI 和 URL 可以互换使用。在大多数情况下,没有问题,但两者之间的差异恰恰是存在的。因此,让我们看一下每个术语的定义和用法。
URI
URI表示标识特定资源的统一资源标识符。标识 Web 技术使用的逻辑或物理资源的唯一字符串序列。
URL
URL,也称为Web地址,是用于指示资源在计算机网络上的位置的约定,是URI 的子集。
虽然 URL 是 URI 的子集,但 URI 和 URL 的主要区别如下:
URI被识别,URL被指定位置。
下面是一个来自现实世界的例子:
“wuzhuoyu” 是我的名字和标识符。它就像一个 URI,但它不能是 URL,因为它没有关于位置或联系方式的信息描述。
“某某省某某市某某区” 是地址。一个地址指向一个特定的位置。与 URL 和 URI 类似,它们间接识别您的位置。
实际网络中的 URI 和 URL 示例如下。
-
www.wuzhuoyu.com/index.html -------> 服务器实际index.html文件
-
www.wuzhuoyu.com/index -------> rewrite -------> 服务器实际index.html文件
两个地址都指向 index.html。
第一个地址既是 URI 又是 URL,因为它是指示 Web 服务器的实际文件位置的地址。
第二个地址实际上不是 URL,因为 Web 服务器上不存在索引文件。但是,它可以被视为一个 URI,因为它是在服务器内部进行处理并最终指向 index.html。
URI结构
通用 URI 具有以下形式。
方案:[//[user[:password]@]host[:port]][/path][?query][#fragment]
- scheme:表示要使用的协议,在web中是http或者https
- 用户和密码:访问数据的用户名和密码(在服务器上)
- 主机和端口:要访问的目标(服务器)的主机名和端口号
- path :要访问的目标(服务器)路径的详细信息
- query :要传递给要访问的目标的附加信息(参数)
- 片段:访问主资源中存在的子资源时要识别的信息