什么是资源?什么是资源的表述?

答:在HTTP协议和REST中,“resource”(资源)这个单词是有特定含义的,并不是我们通常所理解的那种广义的资源。“resource”的含义是:服务器端暴露给外界访问的某种能力。当然,服务器端拥有很多广义的资源,包括CPU、内存、存储等等。但是如果这些广义的资源并没有直接暴露给外界访问,那么对于外界来说,它们并不是(可以利用的)资源。

REST是一种分布式应用的架构风格。REST看待服务器的角度,与另外两种分布式应用架构风格DO(分布式对象)、RPC(远程过程调用)有很大差别。REST将服务器看作是由很多离散的资源组成,每一个资源都有一个命名,并且拥有一个URI作为访问地址(也可以拥有多个URI。资源的命名和其URI地址,在实战场合可以不加区分)。对某个资源感兴趣的客户端应用,可以通过该资源的URI与其交互。 和面向对象编程中的“对象”类似,资源也是以名词为核心来组织的。同样地,和“对象”类似,资源也是一个抽象的工具。任何可以命名的抽象概念,都可以通过将其定义为一个资源,暴露给外界访问。也就是说,资源不仅仅可以代表服务器上的一个文件、数据库中的一张表等等具体的东西。只要想象力允许,资源的定义可以要多抽象有多抽象。因为REST鼓励的是大粒度的网络交互,通常不应该设计粒度过细的资源,否则会因为网络调用太过频繁,对应用的性能造成致命影响。

客户端应用与资源的交互,是通过资源的“representation”(表述)来间接完成的。资源的表述是一段对于资源(在某个特定时刻的)状态的描述。客户端请求资源的表述,对表述加以修改,然后将修改过的表述发送给服务器端,请求服务器端对资源执行某种(局部的或者完全的)状态改变。在客户端-服务器端之间转移的,并不是资源本身,而是资源的表述。缩写词REST中的“state transfer”翻译为“状态转移”,在客户端-服务器端之间转移的资源表述,所代表的正是资源的当前状态。 资源的表述,可以有多种格式,例如json/xml/html/纯文本等等。服务器发送给客户端的资源表述的格式,可以通过定义在HTTP协议中的标准的内容协商(content negotiation)机制来确定。

转载: http://www.ituring.com.cn/article/939

什么是资源?什么是资源的表述?相关推荐

  1. Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  2. 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理...

    华为FusionSphere概述 FusionSphere是华为自主知识产权的云操作系统,集虚拟化平台和云管理特性于一身,让云计算平台建设和使用更加简捷,专门满足企业和运营商客户云计算的需求.华为云操 ...

  3. 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )

    文章目录 一.AAPT2 资源编译工具 二.resources.arsc 资源映射表 工作机制 三.参考资料 一.AAPT2 资源编译工具 资源的编译 , 生成 R.java 文件 , 都是通过 AA ...

  4. 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )

    文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...

  5. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  6. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)...

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  7. 《系统集成项目管理工程师》必背100个知识点-38资源平滑和资源平衡

    资源平滑和资源平衡的区别? (1)资源平衡往往改变关键路径,通常是延长. (2)资源平滑不改变关键路径,完工日期不会延迟. (3)资源平衡可以实现所有资源的优化,资源平滑可能无法实现所有资源的优化.

  8. 笔记-项目进度管理-资源平衡和资源平滑

    本题考查制定进度计划的技术和工具,参考<信息系统项目管理师教程>第三版教程P279. 1.进度网络图中可能有多条关键路径.在项目进展过程中,有的活动会提前完成,有的活动会推迟完成,有的活动 ...

  9. web中静态资源和动态资源的概念及区别

    1.静态资源和动态资源的概念 简单来说: 静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来. 动态资源:一般客户端请求的动态资源, ...

  10. 容器资源需求、资源限制(二十二)

    官网:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 容器的资源需求,资源限 ...

最新文章

  1. 【mycat】分库分表
  2. windows azure之创建虚拟机
  3. linux 0x00,linux 学习笔记0x00
  4. FTP配置文件详解vsftpd.conf
  5. windows nginx c++读取请求数据_轻松应对百万并发的Nginx,搞懂LinuxC/C++这些技术栈升职加薪...
  6. 【Step1】【二分图匹配】poj 1274-The Perfect Stall
  7. 小故事:在缺陷中发现长处
  8. 数值的整数次方(代码的完整性)
  9. WindowsXP音量控制程序的安装
  10. 视频剪辑技巧,给每个视频添加不同背景图
  11. 来扯点ionic3[3] 页面的生命周期事件,也就是凡间所说的钩子
  12. 关于ASP使用服务器采集文章及图片
  13. 嵌入式计算机的关键特征,与通用计算机的区别
  14. 经济学计算机会成本 会计成本的案例题,案例4:利润在经济学家与会计师眼中的是不同的...
  15. 第二天就能练起来的技能:真北直播回顾,及KOL讲师、海报设计师招募
  16. DexPathList在真机环境下闪退的两种解决方案。
  17. 声源定位MATLAB的程序,求大神改一个声源定位程序 改成放置录音文件然后定位...
  18. Toronto Research Chemicals BTK抑制剂丨ACP-5197
  19. python画图绘制紫荆花_春风十里,紫荆花满城
  20. sj时间戳转成年月日

热门文章

  1. 用日食如何导入java项目_CLASSPATH,Java Buld Path(日食)和WEB-INF \ LIB:使用什么,何时使用以及为什么使用?...
  2. 15. Examples【示例】
  3. [MOTO XT800问题集锦]忘记开锁图案怎么办?
  4. 淘晶驰串口屏与DSP28335通信实现三相电压电流实时显示
  5. Python VISA仪器控制
  6. 贴吧笔记本电脑选购参考攻略
  7. 一文学会注解的正确使用姿势
  8. 全国省市县三级地址联动js
  9. 到货服务器设备工作项目,设备到货验收监理工作细则.doc
  10. 【cocos creator】各小游戏平台sdk,vivo,oppo,wx,qq,字节跳动