URI vs URL | URI 和 URL 的区别17 Mar 2025 | 5 分钟阅读  在上网或查看任何网站时,您可能多次遇到“URI”和“URL”这两个词。它们是网络中的两个重要概念,并且大多可以互换使用。但它们并不相同;URI 和 URL 的主要区别在于,URI 可以同时表示资源的 URL 和 URN,而 URL 只能指定资源在互联网上的地址。在本主题中,我们将分别介绍 URI 和 URL,以及它们如何相互区分。 什么是 URI?URI 或 统一资源标识符 是一个字符串标识符,用于指代互联网上的资源。它是一串字符,用于通过位置、名称或两者来识别 互联网 上的任何资源。 URI 有两个子集:URL (统一资源定位符) 和 URN (统一资源名称)。如果它只包含一个名称,则意味着它不是 URL。在现实世界中,我们通常看到的是 URL 和 URN,而不是直接的 URI。  URI 包含 方案、授权、路径、查询和片段。 一些最常见的 URI 方案是 HTTP、HTTPS、ftp、Idap、telnet 等。 URI 的语法URI 的语法如下所示 - 方案: URI 的第一个组成部分是方案,它包含一个字符序列,可以是字母、数字、加号或连字符 (_) 的任意组合,后跟冒号 (:)。常见的方案有 http、file、ftp、data 和 irc。 方案应在 IANA 注册。
- 授权: 授权组件是可选的,前面有两个斜杠 (//)。它包含三个子组件
- 用户信息: 它可能包含用户名和一个可选的密码,用冒号分隔。此子组件后跟 @ 符号。
- 主机: 它包含注册名称或 IP 地址。IP 地址必须用 [] 括号括起来。
- 端口: 可选
- 路径: 它由用斜杠 (/) 分隔的路径段序列组成。URI 总是指定它;但是,指定的路径可以是空的或长度为 0。
- 查询: 这是一个可选组件,前面有一个问号 (?)。它包含一个非分层数据的查询字符串。
- 片段: 它也是一个可选组件,前面有一个哈希 (#) 符号。它包含一个片段标识符,提供对辅助资源的指导。
URI 的一些例子- mailto:[受电子邮件保护]
- news:comp.infosystems.www.servers.unix
- urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URL 是什么?URL 或 统一资源定位符 用于查找 Web 上资源的位置。它是资源的引用以及访问该资源的方式。URL 总是显示一个唯一的资源,它可以是 HTML 页面、CSS 文档、图像等。 URL 使用协议访问资源,可以是 HTTP、HTTPS、FTP 等。 它主要指网站的地址,用户可以在地址栏中找到。URL 的示例如下  注意:所有 URL 都可以是 URI,但所有 URI 不都是 URL。这是因为 URI 包含 URL 和 URN,并表示 URL 或 URN,或两者。 URL 的语法每个 HTTP URL 都遵循其通用 URI 的语法。因此,URL 的语法也与 URI 的语法相似。如下所示 上述 URL 由以下组件组成 - 方案: URL 的第一个组件是方案,它表示浏览器请求资源必须使用的协议。网站常用的协议是 HTTP 或 HTTPS。
- 授权: 授权包含两个子组件:域名和端口,用冒号分隔。域名可以是任何东西,例如 javatpoint.com 等资源的注册名称,端口是访问 Web 服务器上资源的技术网关。端口号 80 用于 HTTP,443 用于 HTTPS。
- 路径: 路径指示 Web 服务器上资源的完整路径。它可以是 /software/htp/index.html。
- 查询字符串: 它是包含名称和值对的字符串。如果在 URL 中使用,它跟在路径组件后面并提供信息。例如 "?key1=value1&key2=value2"。
- 片段: 它也是一个可选组件,前面有一个哈希 (#) 符号。它包含一个片段标识符,提供对辅助资源的指导。
URI 和 URL 的主要区别- URI 包含 URL 和 URN 来标识资源的名称和位置或两者;相反,URL 是 URI 的子集,仅标识资源的位置。
- URI 的示例是 urn:isbn:0-476-27557-4,而 URL 的示例是 https://google.com。
- URI 还可以用于在 HTML、XML 和其他文件中查找资源,而 URL 只能用于定位网页。
- 每个 URL 都可以是 URI,而所有 URI 不一定总是 URL。
URI 和 URL 的区别图表URI | URL |
---|
URI 是 Uniform Resource Identifier 的缩写。 | URL 是 Uniform Resource Locator 的缩写。 | URI 包含两个子集:URN,它说明名称,以及 URL,它说明位置。 | URL 是 URI 的子集,它只说明资源的位置。 | 所有 URI 不都是 URL,因为它们可以说明名称或位置。 | 所有 URL 都是 URI,因为每个 URL 只能包含位置。 | URI 的目的是通过使用资源的名称或资源的位置来识别资源并将其与其他资源区分开来。 | URL 的目的是查找 Web 上资源的位置或地址。 | URI 的一个示例可以是 ISBN 0-486-35557-4。 | URL 的一个示例是 https://tpointtech.cn。 | 它通常用于 XML 和标签库文件(如 JSTL 和 XSTL)中,以识别资源和二进制文件。 | 它主要用于在互联网上搜索网页。 | URI 方案可以是协议、指定、规范或任何其他内容。 | URL 的方案通常是协议,例如 HTTP、HTTPS、FTP 等。 |
结论根据上述讨论,我们现在可以区分 URI 和 URL。URI 是一个字符序列,通过互联网上可用的位置、名称或两者来标识 Web 资源。而 URL 是一个字符序列,仅标识互联网上可用资源的位置。
|