URI(Uniform Resource Identifier,统一资源标识符)和URL(Uniform Resource Locator,统一资源定位符)是两个关联紧密但定义不同的概念,URL是URI的子集。
URI的核心作用是唯一标识互联网上的资源,它只需要满足“唯一性”这个条件,不需要指明资源的获取方式。比如 urn:isbn:9787115428028 是一个URI,它用ISBN号唯一标识了一本图书,但没有告诉我们去哪里获取这本书。
URL的核心作用是定位互联网上的资源,它不仅要标识资源,还要指明如何访问该资源的具体路径。比如 https://www.example.com/books/123 是一个URL,它既标识了“123号图书”这个资源,也指明了通过HTTPS协议在www.example.com这个域名下的/books/123路径可以访问到它。
简单总结:所有URL都是URI,但并非所有URI都是URL——URI包含了URL和URN(统一资源名称,如上述ISBN示例)两类,URL只是URI中负责“定位”的那一部分。