uri和url的区别与联系(一看就理解)

前言

uri和url一直对这个概念很模糊,因此专门写了一个笔记来彻底搞清楚。(先说好这个笔记的主要作用就是为了便于理解和区分uri和url,这也是我个人的理解和总结,如果有不到位的地方可以提出。如果能帮助你区分了这两个概念也算是自己的一个进步了。)

uri

什么是uri?

uri就类似一个独一无二的身份标识。
准确的说是某个网络资源的特有标识(用来区别于其他资源的独一无二的标识【别问我标识是什么,问就是百度,不过我相信依你的聪明才智不用百度也能理解】)
具体什么样的叫做uri呢?我就直接给个java所举的uri的例子:

(First line of HTTP request )HTTP请求的第一行uri
POST /some/path.html HTTP/1.1/some/path.html
GET http://foo.bar/a.html HTTP/1.0/a.html
HEAD /xyz?a=b HTTP/1.1/xyz

从中可以看到,不同请求返回的uri是不一样的。
如果上面的例子还是让你感到困惑,那我就举个更加通俗易懂的。

1.有这样一个需求:
要求找到一本书(书就是资源),这本书在A省份/B市/C区/D街道/xx栋/392-1住户/1号房间/名字叫做《xxx》 (这里就是模拟我们输入网址进行HTTP请求)
那么此时的 《xxx》 这本书 对于 1号房间 来说就是uri
此时的D街道/xx栋/392-1住户/1号房间/名字叫做《xxx》这本书 对于 A省份/B市/C区 来说就是uri
可以看出uri是不固定的,是相对来说的,具体是什么就看你的参照角度是什么。(不同请求参照角度不一样,所以他们的返回uri有差异)
由此总结:uri是一个标识,用来区别于其他资源的标识。 (相信你对这句话就更能理解了)

url

ok ,理解了uri那么再来说一说什么是url。url就是每次我们输入网址访问某个网站时,浏览器上输入的那一行内容。比如:http://baidu.com这是一个url,每个链接地址是一个url。

uri和url的关系

uri是url的父级,url是uri的子级。
可能有人就奇怪了,咦?明明是url包含了uri为啥uri反而是父级?
请注意,我这里用的是级别来描述,而不是包含。
我没有说url是uri的一部分,而是说是他的子级。
想要理解这个概念,最好的说明就是java的继承关系。url继承了uri。这样来看是不是瞬间就明白了。
因为url继承了所有uri的内容,所以它比uri更加详细,但是uri是它的父级。

有什么作用?

url的作用

url一般是一个完整的链接,我们可以直接通过这个链接(url)访问到一个网站,或者把这个url复制到浏览器访问网站。
使用URL时我们就是一个直接用户的角色,直接访问就完事了。

uri的作用

uri并不是一个直接访问的链接,而是相对地址(当然如果相对于浏览器那么uri等同于url了)。这种概念更多的是用于编程中,因为我们没必要每次编程都用绝对url来获取一些页面,这样还需要进行分割“http://xx/xxx”前面那一串,所以编程的时候直接request.getRequestURI就行了,当然如果是重定向的话,就用URL。

  • 260
    点赞
  • 290
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值