作为一名开发人员,你可能已经无数次听说过URL。你之前可能也遇到过URI,现在你想知道他们两者之间有什么区别(如果他们之间有的话)。它们两个经常互换使用,但是我们必须得区分两者。在进行比较之前,让我们看看它们每一个的定义。
什么是URL?
统一资源定位符(Uniform Resource Locator)或者简称URL--顾名思义--是对资源的引用以及访问该资源的方式。它通常被称为网站的地址,在地址栏中找到的那个。
URL由几个不同的部分组成:
- 协议:通常是
https或http。一种如何去访问资源的方法,你可以还见过去其他的协议,比如说ftp或者file - 接着是
:// - 主机名:代表IP地址的注册名称或者是IP地址,用来识别连接到网络的设备的数字标识符。
- 接着是以冒号开头的可选端口
- 路径:它可以引用文件系统路径,但也经常用作slug
- 以问号开头的可选查询参数,其中多个参数用&相连接
- fragment: 一个以散列开头的可选片段。它用于为页面上的标题提供快速链接 为了通过上图进行演示,URL在图表中如下所示:
什么是URI?
现在你已经完全了解URL是如何组成的,让我们来看下到底什么是URI。和URL一样,URI(Uniform Resource Identifier)也提供了一种识别资源的方法,但是和URL不同的是,它不一定提供定位所述资源的方法。
URI的一个示例(不是URL)是用于识别书籍的ISBN号,它使用唯一编码清楚地标识资源,但是它不提供任何实际访问资源的方法。
因此我们可以得出结论,URI是URL的超集,并且每个URL本质上也是一个URI。
差异图解
为了说明它们之间的联系,请看下图:
实际上URL是一种URI,它还包含有关如何访问资源的信息。如果本教程中只有一件事要学习,那就是RFC396中一句话:
The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism(e.g., its network "location").
总结
作为web开发人员,我们必须记住许多字母缩略词和首字母缩写词。你对互联网工作原理的核心概念了解得越深,工作起来就越容易,工作质量也会更高,并且你的知识也会更加丰富。
通过本教程,你现在也知道了URI和URL之间的区别。如果你仍然有任何疑问,请不要犹豫,在评论部门提出问题。感谢你的阅读,祝你编码愉快!