当前位置: 首页 > news >正文

简单说说什么是Restful

在确定要把自己的服务创建成RESTFUL之前,要明白什么样的服务什么是RESTFUL service(https://en.wikipedia.org/wiki/Representational_state_transfer)。wiki上面介绍了一些,总结为以下几点:
无状态。确保服务是无状态的。这是为了解除客户端请求与指定某台服务器的耦合。
资源识别。服务提供资源的方式应该是在URL可识别的,包括资源名称,文件格式等。这是为了解除客户端寻找资源的逻辑与服务器端提供资源的逻辑的耦合。
操作资源的方式。操作资源的方式应该是表示的,例如POST,DELETE,UPDATE。这是为了解除客户端操作资源的逻辑与服务器端的耦合。
自我描述的信息。每个HTTP请求都能够自我解释请求什么资源,格式是什么,操作什么资源,等等。这样一来,资源相关的逻辑就与服务器解耦了。


可以看到,RESTFUL服务的目的还是为了解耦,解除客户端与服务器之间的耦合。在软件中,抽象再怎么强调都不过分,无论是什么编程(过程式,面向对象,函数式等等),抽象都是核心。这个RESTful也一样. 可以把restful看作是客户端与服务器之间交互的抽象,定义了一些规则: URL中表达出请求什么资源(以及格式),还有POST DELETE UPDATE PUT定义对资源的操作方式等等 .它们最大化的解除了客户端请求和服务器资源的耦合,开发上前后端的耦合度也降低了,提高了开发效率。

相关文章:

  • Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放
  • Swift中的本地化实现
  • Azure .Net应用架构原型
  • Nebula3中的委托(Delegate)
  • 使用微软T4 template进行代码生成
  • ora-12537教训
  • Asp.Net MVC webAPI Token based authentication
  • Asp.Net 2.0 TreeView的Checkbox级联操作
  • azure最佳实践系列1-自我修复的设计
  • Nebula3 RTTI 小技巧
  • azure 最佳实践 -- 保持冗余
  • Swift 3 打印功能
  • 还需要编写DAO代码吗?SQL+接口就足够了!(Part 1)
  • 百度关闭竞价排名部分功能,以提升用户体验
  • linux 更新nodejs到最新
  • hexo+github搭建个人博客
  • JavaScript-如何实现克隆(clone)函数
  • ECS应用管理最佳实践
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java深入 - 深入理解Java集合
  • js
  • magento2项目上线注意事项
  • quasar-framework cnodejs社区
  • ReactNative开发常用的三方模块
  • Spring声明式事务管理之一:五大属性分析
  • 闭包--闭包之tab栏切换(四)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前嗅ForeSpider采集配置界面介绍
  • 设计模式走一遍---观察者模式
  • 网页视频流m3u8/ts视频下载
  • 以太坊客户端Geth命令参数详解
  • 在Docker Swarm上部署Apache Storm:第1部分
  • const的用法,特别是用在函数前面与后面的区别
  • NLPIR智能语义技术让大数据挖掘更简单
  • 阿里云ACE认证之理解CDN技术
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 达梦数据库知识点
  • #Linux(帮助手册)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (超详细)语音信号处理之特征提取
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (排序详解之 堆排序)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .equals()到底是什么意思?
  • .NET 4.0中的泛型协变和反变
  • .NET 5种线程安全集合
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net 代码性能 - (1)
  • .net下的富文本编辑器FCKeditor的配置方法
  • .考试倒计时43天!来提分啦!
  • [8481302]博弈论 斯坦福game theory stanford week 1