在了解RESTful api的设计规范的时候,遇到了一个问题,就是uri和url有什关系,有什么区别,所以就在这里记录一下。

URI(Uniform Resource Identifier),统一资源定位符,在百度百科的解释中,uri是一个用于表示某一互联网资源名称的字符串。该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。

  URI就是一个资源的标识,就像今天你收到一个广告的传单,上面写这个xxx地产老板,老王,上面有他们公司的地址,你可以告诉别人,你知道xxx地产的老板是老王,这个老王的头衔就是xxx地产老板,这个xxx地产的老板就是URI,你注册一个网站的账号也是一个URI,那个网站的内部可以通过你的账户识别你是他们网站的会员,当你拿到一个URI的时候,你就知道这个URI所对应的是什么,比如百度首页http://www.baidu.com,你就可以通过这个网址知道这个是百度的首页,URI就是把网络世界的事物进行标记区分,就是一个网络资源的标识。

  当你想要和老王见一面的时候,你并不能通过他的头衔就是xxx地产的老板找到他,你如果想要找到他你必须知道这个老王的地址,而这个老王的地址就在广告传单上面,传单上面写着老王的地址在xxx路xx大厦xx房间,这个地址就是这个老王的URL,可以通过这个URL来找到老王。URI相对于URL的作用主要是给资源进行标识命名,而URL就是对应资源的位置信息,通过URL可以访问相应的资源,所以现在大部分直接使用URL,又当地址,又当资源标识,这样我们不但可以知道你叫什么,还可以知道你的地址,现在我们浏览网页的地址就都是URL,但是还是有一个重要的概念就是,URL是URI 的子集,URL包含于URI里面。总的来说,URI来进行网络资源的标记,URL不但可以用来标识,还有网络资源的地址。

  

对URI的理解的更多相关文章

  1. RESTful API URI 设计: 查询(Query)和标识(Identify)

    相关文章:RESTful API URI 设计的一些总结. 问题场景:删除一个资源(Resources),URI 该如何设计? 应用示例:删除名称为 iPhone 6 的产品. 是不是感觉很简单呢?根 ...

  2. URI设计原则

    以下是与 REST API 相关的重要术语: 资源(Resource) 是一个对象或对某物的表示.它有一些相关联的数据,并有一组方法进行操作. 例如:动物,学校和员工是资源.这些资源都有着删除,添加, ...

  3. URI和URL、REST

    URI和URL URI(Uniform Resource Identifier ) 是一个紧凑的字符串用来标示抽象或物理资源.可以分为URL,URN或同时具备locators 和names特性的一个东 ...

  4. Web基础-Uri跟Url的区别

    关于URL和URI的区别,个人见解.    初学java,最近被一个概念搞得头晕脑胀,就是url和uri的概念和区别,网上查了一大通,发现各种回答眼花缭乱,有百科直接粘贴的,有胡说八道的,有故意绕来绕 ...

  5. Intent和Intent Filters

    什么是Intent     Intent是android开发中的重要对象,它作为一个信息承载对象存在.     我们可以在使用其他一些组件的时候从Intent获取行为响应的准则(即应该做什么东西,如何 ...

  6. Android应用安全之Content Provider安全

    android平台提供了Content Provider,将一个应用程序的指定数据集提供给其它应用程序.这些数据可以存储在文件系统.SQLite数据库中,或以任何其它合理的方式存储.其他应用可以通过C ...

  7. DDD:建模原语 之 四象图(转载的神文)

    “模型.状态和行为特征.场景”和“四象图”,建模观的命名与立象. 建模原语:四象图 作者:achieveidea@gmail.com 命名:模型.结构特征.行为特征.场景(及其规约). 释义:模型,描 ...

  8. java网络---基本web概念

    首先需要搞清楚web中的3个关键概念. 一.HTTP,HTML,URL. HTML 全称是Hypertext Markup Language,是用来描述一个网页的语言.或者说,该语言是用来描述网页的“ ...

  9. 查询(Query)和标识(Identify)

    查询(Query)和标识(Identify) 相关文章:RESTful API URI 设计的一些总结. 问题场景:删除一个资源(Resources),URI 该如何设计? 应用示例:删除名称为 iP ...

随机推荐

  1. [原]Machine Learing 入门 —— 开门第0篇

    一.最近懒了 7月没怎么写博客,倒是一直在学Machine Learning的入门知识,在这里给大家推荐一个不错的自学网站:https://www.coursera.org/ ,Andrew Ng是联 ...

  2. BZOJ4415:[SHOI2013]发牌(线段树)

    Description 假设一开始,荷官拿出了一副新牌,这副牌有N张不同的牌,编号依次为1到N.由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为1, 2,……直到N,N号牌在牌库底.为了发完所 ...

  3. SpringBoot使用PageHelper进行分页

    因为SpringBoot就是为了实现没有配置文件,因此之前手动在Mybatis中配置的PageHelper现在需要重新配置,而且配置方式与之前的SSM框架中还是有点点区别.    首先需要在pom文件 ...

  4. c++ 单引号和双引号

    c++中单引号表示一个字符,双引号表示字符串 python中单引号与双引号是一样的

  5. Hashtable详细介绍(源码解析)和使用示例

    第1部分 Hashtable介绍 Hashtable 简介 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射. Hashtable 继承于Dic ...

  6. conda清华镜像(TUNA)使用指南

    Details: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ TUNA 提供了 Anaconda 仓库的镜像,运行以下命令: conda c ...

  7. Linq 集合比较

    List<RemindTbl> l_lstRemind = (from x in RemindTbl where (from y in RemindTblOld where x.Atten ...

  8. P2939 改造路

    P2939 [USACO09FEB]改造路Revamping Trails 裸地分层图最短路 培训的时候考到过 但是-- 我考试的时候写了个基本没有的树状数组优化.然后顺利的被卡到了70分(裸的spf ...

  9. qbxt Day1 测试犯傻祭祀

    今天是2018/7/15 然后又是我最不喜乱的测试,期末考试爆炸仍在眼前. T1 van♂游戏 题意 小喵喵喜欢玩RPG游戏.在这款游戏中,玩家有两个属性,攻击和防御,现在小喵喵的攻击和防御都是1,接 ...

  10. Android学习笔记_46_fragment的简单应用

    Fragments 诞生初衷 http://www.cnblogs.com/TerryBlog/archive/2012/02/17/2355753.html 自从Android 3.0中引入frag ...