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 和 URI 之间的区别

这里我分析了URL和URI的区别,并全面评估它们的优缺点。

网址是什么?

URL 是文档和协议在计算机网络上检索资源的全局地址。URL 最常用于引用网页 (HTTP),但也可用于使用 JDBC、电子邮件 (mailto)、文件传输 (FTP) 和许多其他应用程序进行数据库访问。URL 的完整形式 网址 是统一资源定位器。

什么是 URI?

URI 是包含用于标识物理或逻辑资源的字符的字符串。URI 遵循语法规则以确保统一性。此外,它还通过分层命名方案保持可扩展性。URI 的全称是统一资源标识符。

URI 的类型
URI 的类型

如上图所示,URI有两种类型:

  1. 网址: URL 指定计算机网络上的位置和检索该位置的技术。
  2. 瓮: 统一资源名称(URN)是指定URN方案的互联网资源。

URI 和 URL 的维恩图

URI 和 URL 的维恩图

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)。
  • 权限组件: 这是一个可选字段,前面带有 //。它包括
  1. 可选的用户信息子组件,可能由用户名和密码组成(可选)。
  2. 包含 IP 地址或注册名称的主机子组件。
  3. 可选端口子组件,后跟冒号 (:)
  • 路径: 路径包含一系列由斜杠分隔的段。
  • 查询组件: 它是可选的,前面有一个问号 (?)。查询组件包含非层次数据的查询字符串。
  • 片段组件: 它是一个可选字段,前面有一个哈希 (#)。片段组件包括一个片段标识符,用于指示辅助资源的方向。

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 之间的主要区别如下:

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)。