URI 与 URL有什么区别?

发布时间:2021-07-23 12:00:51

什么是URI?

URI——“统一资源标识符”的缩写,是将一个资源与另一个资源区分开来的字符序列。例如,foo://example.com:8042/over/there?name=ferret#nose 是一个包含方案名称、权限、路径、查询和片段的 URI。URI 不需要包含所有这些组件。它所需要的只是一个方案名称和一个文件路径,它可以为空。

这是 URI 的另一个示例:telnet://192.0.2.16:80/。本例中“telnet”为方案名,双斜线后的数字构成权限。路径为空,这就是为什么斜杠后面没有字符的原因

URI 的类型

有两种类型的 URI:URN 和 URL

统一资源名称 (URN) 是遵循“urn”方案的持久且与位置无关的标识符。在这种情况下,“持久”意味着 URN 随着时间的推移持续识别相同的资源。以下是RFC 3986 提供的 URN 示例:urn:oasis:names:specification:docbook:dtd:xml:4.1.2

uri-vs-url.jpg

另一方面,URL 是依赖于位置的标识符,不一定是持久的。这意味着,随着时间的推移,不需要 URL 来标识相同的资源。URL 也不遵循“urn”方案。现在我们对 URI、URL 和 URN 有了一个简要的了解,让我们仔细看看下面的 URL。

什么是网址?

URL——“Uniform Resource Locator”的缩写,是一种特定类型的标识符,它不仅标识资源,而且告诉您如何访问它或它位于何处。例如,一个 URL 可能包含 ftp:// 或 https://。这告诉您可以通过文件传输协议 (FTP) 或超文本传输协议安全 (HTTPS) 定位和访问资源。

以下是一些 URL 示例:

ftp://ds.internic.net/internet-drafts/draft-ietf-uri-irl-fun-req-02.txt

https://www.malanco.cn/view/467.html

https://www.baidu.com/index.php?tn=monline_3_dg

您会注意到这些看起来类似于上面提到的 URI 示例。那是因为它们包含许多相同的组件,包括路径和查询。

但是,URL 也包含独特的组件,例如协议和域。在最后一个 URL 示例中,“https://”是协议。“www”是子域,“malanco.cn”是域名。“view/158.html”是路径,问号和后面的所有内容构成查询。 

URI 和 URL 之间有什么区别?

URI 和 URL 之间的主要区别在于 URI 是标识符,而 URL 是定位器。换句话说,URI 只是标识资源。它不描述或暗示如何定位资源。一个网址就可以。

因此,URL 是 URI 的特定子集。这意味着,所有 URL 都是 URI,但并非所有 URI 都是 URL。

用于理解 URI 和 URL 之间差异的最常见类比是比较一个人的姓名与他们的地址。一个人的名字就像一个 URI,因为它在不提供任何关于如何定位他们的信息的情况下识别这个人。但是,地址会将该人标识为该地址的居民并提供其实际位置。这就是为什么它就像一个 URL。

另一个主要区别是 URI 可用于识别和区分 HTML、XML 和其他文件。另一方面,URL 只能用于识别和定位网页

识别和定位网络上的资源

由于网络上有数以百万计的资源,因此了解识别和定位单个资源的正确方法非常重要。虽然 URI 用于通过名称或位置标识资源,但 URL 是 URI 的子集,通过您访问资源的方式来标识资源。


声明:本站发布的内容以原创、转载、分享网络内容为主,如有侵权,请联系电话:400-887-2127,邮箱:7221960@qq.com ,我们将会在第一时间删除。文章观点不代表本站立场,如需处理请联系我们。