前言
我一直贯彻一种思想,如果是记一个玩意,是歪果传过来的概念,一定要溯根。
这一篇文章,会让看官们一次性就记住 URL 和 URI 的概念、区别。
ps:我希望的是大家以后接触一个洋概念,或者记一个洋概念,也可以参照我的这种方法。
ps:但是,作为科普侠,我忍不了。
正文
URL 英文全称 Uniform Resource Locator
URI 英文全称 Uniform Resource Identifier
Resource : 资源
不管从简称缩写还是全称来看,都可以看到区别 就是 最后的 I 和 L 。
说说URL
Locator : 定位器
定位器,什么概念,现在的定位,就是能找到位置,而且是准到不行那种意思。
所以不管URI 是什么, 首先 URL 就是指 能准确100%能找到具体资源那种。
现在记住了 URL 是 非常准确能够 确保 访问/找到/调用 资源的 链接地址, 才能叫 URL。
再拿图片链接来做个举例 ,加深一下概念的记忆:
这是一张图片地址的访问链接 URL :
https://ucc.alicdn.com/images/user-upload-01/16bc2bf36b9c479a8d765b64e4f27dc8.png
如果我说,让你把这个图片URL发我一下,你发个
16bc2bf36b9c479a8d765b64e4f27dc8.png ,
能叫URL吗??
接下来说说URI
Identifier : 标识符
标识符,什么概念, 就是说 能知道 什么东西是个啥?
比如,告诉你们,我住在哪啊?
我说, 我住在一个小单间里面。
这样回答OK吗?
OK的, 我住的那个地方是个 小单间, 也算是我住的地方的一个标识符了。
我再说细一点,我住在深圳宝安那边的一个小单间里面。
这样回答OK吗?
OK的, 我住的那个地方是个 小单间,在深圳宝安那边, 也算是我住的地方的一个标识符了。
到此为止, 你能找得到我么?
找不到的。 这么多小单间,去哪找?
没错,这种标识符,就是跟URI 一样,它是指一种资源的标识, 但是没保证到能准确 访问/找到/调用 这个资源。
那如果我的标识符详细一点呢?
我住在 中国/广东省/深圳市/宝安区/20区/新安街道/JC花园/888栋/100楼/A房/A103小单间 。
这样的标识符,细致,你已经可以找到我了,可以准确 访问/找到/调用 到 的 一个标识符。
这也是一个标识符,只是足够细致了的标识符。
也就是说这样的URI 也是存在的, 足够细致的URI 。
可能看到这,会有疑问, 你这不就是URL么, 都能够准确 访问/找到/调用 了。
还嘴硬说URI ???
是的,你的理解没错,我说的也没错,为啥?
因为 URI 包含 URL。
URI 可以大,可以小, 但是URL必须是 URI 概念里面的东西。
看图:
URL 可以理解是一种 URI (资源标识),是一种能够准确到爆炸的标识,所以直接叫定位了。
URI是 URL 吗 ? 只能说包含关系,如果URI足够准确到爆炸, 可以当做URL去看待使用。
本质上:
URL能确保 定位到资源。
URI 不确保, 只是告诉你个大概,标识符。
ps:当然平时对接工作中,你说 我的用户新增接口是 /userAdd ,是个URI,但是对面的兄弟也知道你说啥,而且也能准确调用到接口。
为啥? 因为是人,他懂你。 他知道你说啥。 他和你心灵相通啊。
而不是你给了他一个URL, 也不是你的URI足够细致, 只因为他懂你罢了。
还有一个 URN 的概念 Uniform Resource Name ,我不说,因为完全没必要去管。
我们只记住URI 和URL就行,学东西我有洁癖。