HTTP协议中URI与URL的区别与联系

关于URI与URL

官方定义:URI(统一资源标识符)A Uniform Resource Identifier that identifies an abstract or physical resource, as specified by RFC 2396.(统一资源标识符用于标示一个抽象或者物理资源)
URI(Uniform Resource Identifier)——统一资源标识符
它类似于一个独一无二的身份标识,类比生活场景,URI就是可以定位到唯一一个人的身份证号。

官方定义:URL(统一资源定义符)A Uniform Resource Locator thatidentifies the location of an Internet resource as specified by RFC 1738.(统一资源定位符用于标示网络资源的位置)
URL(uniform resource locator)——统一资源定位符
URL拥有与URI类似的作用,但有时并不能找到唯一的一个目标,URL是URI的一个子集,类比生活场景,URL就是以位置信息确定目标的寻人方式,即:中国住址协议://地球/中国/陕西省/西安市/长安区/某大学/6号宿舍楼/615号寝/张三.人

URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

undefined
undefined
  • URL的格式一般由下列三部分组成:
    第一部分是协议(或称为服务方式);
    第二部分是存有该资源的主机IP地址(有时也包括端口号);
    第三部分是主机资源的具体地址。

  • URI一般由三部分组成:
    访问资源的命名机制。
    存放资源的主机名。
    资源自身的名称,由路径表示。

关于URL

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

关于URI

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

参考文献:https://blog.csdn.net/sinat_38719275/article/details/102607458?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

https://blog.csdn.net/u014315849/article/details/48975897?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

你可能感兴趣的:(HTTP协议中URI与URL的区别与联系)