URL 与 URI:URL 与 URI 之间的主要区别
URL 和 URI 之间的主要区别
- URL 是 URI 的一个子集,用于指定资源所在的位置以及检索资源的机制,而 URI 是 URL 的超集,用于标识资源。
- URL 的主要目的是获取资源的位置或地址,而 URI 的主要目的是查找资源。
- URL 仅用于定位网页;另一方面,URI 用于 HTML、XML 和其他文件。
- URL 包含协议、域、路径、哈希、查询字符串等组件,而 URI 包含方案、权限、路径、查询等组件。
- URL 的示例是: https://google.com URI 的一个示例是:urn:isbn:0-486-27557-4。

这里我分析了URL和URI的区别,并全面评估它们的优缺点。
网址是什么?
URL 是文档和协议在计算机网络上检索资源的全局地址。URL 最常用于引用网页 (HTTP),但也可用于使用 JDBC、电子邮件 (mailto)、文件传输 (FTP) 和许多其他应用程序进行数据库访问。URL 的完整形式 网址 是统一资源定位器。
什么是 URI?
URI 是包含用于标识物理或逻辑资源的字符的字符串。URI 遵循语法规则以确保统一性。此外,它还通过分层命名方案保持可扩展性。URI 的全称是统一资源标识符。
如上图所示,URI有两种类型:
- 网址: URL 指定计算机网络上的位置和检索该位置的技术。
- 瓮: 统一资源名称(URN)是指定URN方案的互联网资源。
URI 和 URL 的维恩图
如上图所示,“你的名字”可以是 URI,因为它可以识别你。但它不能是 URL,因为它无法帮助任何人找到你的家庭住址。
另一方面,“您的家庭位置”既可以是 URI,也可以是 URL。这样做的目的是为了识别您,并为您提供家庭位置。
URL 语法
URL 的语法如下:
http://www.domainname.com/folder-name/web page-file-name.htm
我们可以将上面的URL分为以下几个部分:
- 协议: 它是 URL 的第一部分。这里的协议名称是超文本传输协议 (HTTP)。
- http://www.domainname.com/: 这是您的域名。它也被称为服务器 ID 或主机。
- /文件夹名称/: 它表示引用的网站页面“归档”在网络服务器上的给定文件夹中。
- 网页文件名.htm: 它实际上是一个网页文件名。“.htm”是 HTML 文件的扩展名,表明它是一个静态网页。文件名可以有不同的扩展名,或者取决于您如何设置 Web 服务器。可能根本没有扩展名,URL 可能以斜线 (/) 结尾。
URL 示例
此示例 URL 有一个文件夹,但没有扩展名。
https://career.guru99.com/category/heavy-industries/
此示例 URL 没有文件夹。
https://www.guru99.com/what-is-sap.html
此示例 URL 没有扩展名。
https://career.guru99.com/top-33-investment-banking-interview-questions-answers/
URI 的语法
URI 的语法如下:
URI = 方案:[//授权]路径[?查询][#片段]
URI 包含以下部分:
- 方案组件: 它是一个非空组件,后跟冒号 (:)。该方案包含以字母开头的字符序列,后跟数字、字母、句点 (.)、连字符 (-) 或加号 (+) 的任意组合。众所周知的方案示例包括 HTTP、HTTPS、mailto、file、FTP 等。URI 方案必须在 Internet Assigned Numbers 权威机构(IANA)。
- 权限组件: 这是一个可选字段,前面带有 //。它包括
- 可选的用户信息子组件,可能由用户名和密码组成(可选)。
- 包含 IP 地址或注册名称的主机子组件。
- 可选端口子组件,后跟冒号 (:)
- 路径: 路径包含一系列由斜杠分隔的段。
- 查询组件: 它是可选的,前面有一个问号 (?)。查询组件包含非层次数据的查询字符串。
- 片段组件: 它是一个可选字段,前面有一个哈希 (#)。片段组件包括一个片段标识符,用于指示辅助资源的方向。
URI 示例
没有提及任何协议。
www.guru99.com
未提及域名
what-is-sap.html
协议提及
ldap://[2001:db8::7]/c=GB?objectClass?one mailto:abc@example.com tel:+1-816-555-1212 telnet://192.0.2.16:80/
关于 URN 的困惑
关于 URN 存在一个混淆:如果你实现了 https、ftp 等协议,那么它就被称为 URL,即使它是一个 URI。
这种辩论的问题在于, RFC 非常复杂,有时甚至相互矛盾。例如,RFC 3986 规定 URI 可以是名称、定位器,也可以是两者。
为什么是 URL?
以下是我注重使用 URL 的重要原因:
- URL 中写的信息使您只需单击鼠标即可从一个网页切换到另一个网页。
- URL 告诉您如何访问特定资源。
- 每当您在您的浏览器中输入 URL 或单击任何超文本链接时,您的 网页浏览器 向 Web 服务器发送请求以下载一个或多个文件。
- URL 是 Web 上给定唯一资源的地址,包括网页、图像、文件、媒体、Web 应用程序等。
- 网站 URL,或 域,是您网站最重要的部分之一。通过使用通常以 .org、.com 或 .net 结尾的简单单词或字符串,您将能够为您的网站带来流量。
为什么是 URI?
让我分享一下我使用 URI 的重要原因:
- 统一资源标识符对于语义网至关重要,因为它可以避免歧义。
- URI 搜索资源或文件的名称及其位置,其格式是统一的。
- 它有一个表示特定文件名和路径的字符串。
- 的URI 提供一种通过万维网或网络供其他系统访问资源的方法。它由 Web 浏览器和 P2P(点对点)使用 文件共享软件 查找并下载文件。
- URI 允许定义新的文件类型而不会影响您现有的旧文件。
- 您可以分配单个资源来与多个表示关联。
URL 和 URI 之间的区别
在我们的分析中,URL 和 URI 之间的主要区别如下:
网址 | 的URI |
---|---|
URL 代表统一资源定位器。 | URI 代表统一资源标识符。 |
URL 是 URI 的一个子集,它指定资源存在的位置以及检索资源的机制。 | URI 是 URL 的超集,它通过 URL、URN(统一资源名称)或两者来标识资源。 |
主要目的是获取资源的位置或地址 | URI 的主要目的是查找资源并使用名称或位置将其与其他资源区分开来。 |
URL 仅用于定位网页 | 用于 HTML、XML 和其他文件、XSLT(可扩展样式表语言转换)等。 |
该方案必须是 HTTP、FTP、HTTPS 等协议。 | 在 URI 中,方案可以是任何东西,例如协议、规范、名称等。 |
协议信息在 URL 中给出。 | URI 中没有提供协议信息。 |
URL 示例: https://google.com | URI 示例:urn:isbn:0-486-27557-4 |
它包含协议、域、路径、哈希、查询字符串等组件。 | 它包含方案、权限、路径、查询、片段组件等组件。 |
所有 URL 都可以是 URI | 并非所有 URI 都是 URL,因为 URI 可以是名称而不是定位器。 |
如何在 URL 和 URI 之间进行选择
根据我的经验,URL 和 URI 之间的主要区别在于,URL 是 URI 的子集,用于指定资源所在的位置以及检索资源的机制,而 URI 是 URL 的超集,用于标识资源。我们仅使用 URL 来定位网页;但是,URI 可用于 HTML、XML 和其他文件(例如 JSTL 和 XSTL)。