restful风格的架构 Restful API
为什么要用restful架构? soap协议(一种信息交换协议,简单对象访问协议:simple object access protocol)的缺点
先从Web Service说起。Service就是提供可利用的资源,那么再加上Web这张网就可以对资源利用得到极大延伸,不在局限于你的本地或四邻。这时就应运而生一种信息交换协议——SOAP(简单对象访问协议,Simple Object Access Protocol)。SOAP有着严格的协议,内容至今也基本齐全,然而随着时间的推进,它的弊端也逐渐暴露出来。SOAP消息基于很老的XML格式,显得厚重,同时支持多种传输协议如HTTP、TCP/UDP等等,其内容涉及封装以及状态维持等等,总而言之,言而总之,就是它的复杂程度已经违背了起初设计Web Service的简明原则了,所以在2000年Roy Thomas Fielding提出了REST(Representational State Transfer)架构。算是打响改善的第一枪。如果一个架构符合REST原则,就称它为RESTful架构。-----引用自
restful架构又有哪些缺点
RESTful API轻便的一个原因就是它是无状态的,所以它可以做缓存处理,增进性能,然而这也成为了它的一个短板。其实现在很多Web Service都不是随便可以滥用的,都需要身份验证,权限设置。如果把身份信息放在HTTP head里面,如何保证身份不被伪造?那么在这种情况下RESTful API就无法适用了,反而SOAP可以很好的适应。REST也在不断的完善,也许有一天他也可以做到状态维持,那么是否表明它也成了另一个SOAP呢?所以没有什么东西是十全十美的,但是却有单一场景下十全十美的东西。-----引用自