首先,URI是一种泛指的概念,URL是其具体的一种实现
URI:统一资源标识符。指的是一个可以用来唯一的标识一个资源的字符串,而不管其具体是用什么方式来实现唯一标识的。打个栗子,要在地球上唯一确定一个人,有很多种方式。可以通过其身份证号码,DNA序列,指纹,还有实时空间位置等等。以上这些都可以唯一的确定一个人,他们都可以算是URI。
URL:统一资源定位符,定位符定位符看名字就知道,URL就是以上方法中通过位置来唯一确定一个人的方法,所以说URL是URI的一种实现,URI有多种实现,但不是所有URI都是URL,特指通过位置来唯一确定资源的才是URL,其他的如DNA序列,身份证是URI但都不是URL。
通过位置来确定唯一性还有一个好处就是,不仅可以确定其唯一还可以通过位置找到它。而如身份证,虽然可以唯一的确定一个人,但你要找到他就很麻烦。
总的来说:URI是一种广泛的概念,即:唯一确定一个资源,但不管如何去唯一的确定。URL是URI的一种实现方法,是众多确定唯一资源方法的一种,特指通过位置来唯一确定一个资源。
如果看了还不是很理解,推荐去看一下这篇文章,我就是看了这篇才明白的:
HTTP 协议中 URI 和 URL 有什么区别? - denight的回答 - 知乎
https://www.zhihu.com/question/21950864/answer/154309494