移动互联网应用技术架构简介-Restful服务
Restful是基于网络的软件系统架构风格。其优先考虑分布性和扩展性,而不是安全、错误处理、对象映射。
所以Restful架构特别适用的场合为用户快速增长的互联网和移动互联网领域,看起来很容易理解,以资源,资源的表示,资源的状态转移为核心概念。
不过实际在实现Restful服务的时候,仍然有一些应用陷阱,部分是由于Restful本身不是强制性约束,而只是风格建议,
部分是由于开发者对Restful的一知半解乃至曲解所导致。
把一个系统的Restful APIs设计简洁得体,让使用者舒服,并遵循一致的风格/规范,毫无疑问是好的架构师需要去做的事情。
比如一个网上商城系统的用户注册、登陆、更新帐户信息等行为,如何用Restful提供API接口,并非CRUD映射那么简单。
下面是对Restful服务相关的必读文章,对Restful几乎所有问题都有精准的解读。
1、Fielding博士论文,Restful风格提出者
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
2、RESTful实践 RESTful HTTP in practice
http://www.infoq.com/articles/designing-restful-http-apps-roth
3、如何版本化REST服务 Versioning REST services
http://www.informit.com/articles/article.aspx?p=1566460
把版本和资源表示格式放在URL中虽然不那么Restful,但也有好处,简洁直观,便于从系统日志中检查问题
4、如何处理非CRUD动作,如door/1/lock, user/1/login etc...基本上可以通过为资源添加一个状态属性(子资源)来去动词化
http://stackoverflow.com/questions/16091947/how-to-route-non-crud-actions-in-a-restful-asp-net-web-api
一致的URL风格方便在配置中统一建立URL映射规则,可以避免特殊处理代码即硬编码,
如果把动词register/login等放在url中,固然看起来直观,但需要编写特定的URL映射,从而引入hard codes。
5、RESTful服务安全方案oauth/oauth2被广泛使用如Facebook
http://oauth.net/2/
by iefreer
移动互联网应用技术架构简介-Restful服务相关推荐
- 移动互联网应用技术架构简介-Android
Android历史 Android是一款基于Linux的操作系统,面向触摸屏移动设备如智能手机和平板电脑. 最早是由位于加州的Android公司所开发, 2003年创立,2005年被Google收购. ...
- 移动互联网应用技术架构简介-iOS
iOS源于UNIX,由Mach,BSD系统改写发展而来,很稳定. 第一层(最底层)核心操作系统层(Core OS) 包括内存管理.文件系统.电源管理以及一些其他的操作系统任务. 可以直接和硬件设备进行 ...
- 工业互联网 — TSN — 技术架构
目录 文章目录 目录 TSN 的软件架构 TSN 的网络架构 TSN 的软件架构 TSN 的软件架构遵循了 SDN 的思想,并实现了当前的 IEEEstd802.1Qcc 协议要求,包含了下列三种功能 ...
- Redux技术架构简介
Redux是一个程序架构,源于Flux(Facebook提出的一种架构),然而,它不仅可以应用于React,还可以应用于其他任何框架中.值得一提的是,Redux的源代码很少,但是他的逻辑拆分和函数式编 ...
- 互联网金融网贷平台技术架构介绍
本文讲的是互联网金融网贷平台技术架构介绍,目前互联网金融正飞速发展,快速改变着我国的金融格局.短时间内,各类融资理财平台(如陆金所.人人贷.旺财谷等)为有理财需求的理财者们,提供各种投资标的和投资渠道 ...
- Serverless 技术架构 — 初探传说中的FAAS(Function as a Service)
各位看官,你一定或多或少听到关于API Gateway,Docker,Function Compute, Serverless 等各种酷酷的新单词,跟人聊天的时候简直是装*利器呀, 那么你真的知道这个 ...
- Java SaaS高可用集群架构与微服务架构分析
可能大部分读者都在想,为什么在这以 dubbo.spring cloud 为代表的微服务时代,我要还要整理这种已经 "过时" 高可用集群架构? 本人工作上大部分团队都是 7-15 ...
- 现阶段Java高可用集群架构与微服务架构的简单分析
一.如何选择 1.高可用集群 适用于中小型创业公司项目架构,小型技术团队快速迭代版本发布部署需求,前期低成本运行,爆发时可通过投入适量成本横向扩容服务器抗压. 特点: 前期技术开发成本低 一定的服务器 ...
- 创业公司 互联网架构方案 整体技术栈 基础设施 数据库 服务治理 消息中间件 日志系统 ELK 自动化部署
欢迎关注博主公众号:[矿洞程序员]文章由陈晓阳原创. 本人微信:chenxiaoyangzxy. 免费提供本人大量学习资料. 从零开始搭建创业公司后台技术栈 原创: 潘锦 说到后台技术栈,脑海中是不是 ...
最新文章
- matlab多元回归程序,多元回归程序MATLAB程序
- 多篇顶会看个体因果推断(ITE)的前世今生
- 05-xpath爬虫数据解析
- Dapper源码学习和源码修改(下篇)
- python中ls是什么_使用Python代码实现Linux中的ls遍历目录命令的实例代码
- linux查看文件和目录大小(du)
- 【杂谈】Opera10.62的Flash 10插件在WIN 7下无法安装的问题
- getElementsByName和getElementByID
- Ajax的工具类AjaxUtils,使用struts返回Json类型
- 《简明Python教程》学习笔记
- WinCam v2.0.0 Windows极简屏幕录像工具单文件版
- Cisco系列交换机型号
- 生物医学数据大爆炸,大数据“挖掘机”哪家强?
- ts文件引入js文件_如何编写一个d.ts文件的步骤详解
- 浏览器屏蔽百度推广广告
- 新电脑win10系统的一个BUG
- 在kile中为stm32移植FreeRTOS
- 青蛙的约会(POJ 1061 扩展欧几里德算法)
- TOM企业邮箱登录入口在哪里?分享企业邮箱登录入口手机网页版
- java 中常用框架、intell idea简单使用、爬虫系统
热门文章
- Android studio小能手之色卡对照表
- fs.aio max nr mysql_技术分享 | MySQL 主机该如何配置 fs.aio-max-nr
- React——脚手架创建、基本操作、Typescript
- 《世界因你不同:李开复自传》--引言 从心选择
- 微信小程序中css常用属性
- 菜鸟学习Spring——第一个例子
- 《精通CFD工程仿真与案例实战---FLUENT GAMBIT ICEM CFD Tecplot(第2版)》—— 导读...
- 阿里云HPC助力新制造 | 上汽仿真计算云SSCC
- VMware为Linux生成新的Mac地址(克隆虚拟机时可以用)
- yapi接口导出为word_接口文档神器YApi