您的位置:首页 > 其它

解答有关REST的十点疑惑

2014-08-12 17:25 197 查看
http://www.infoq.com/cn/articles/tilkov-rest-doubts
http://blog.csdn.net/ant_ren/article/details/7963517 http://www.douban.com/note/74326774/
REST之所以能够提高系统的可伸缩性,是因为它强制所有操作都是stateless的,这样就没有context的约束,如果要做分布式、做集群,就不需要考虑context的问题了。同时,它令系统可以有效地使用pool。REST对性能的另一个提升来自其对client和server任务的分配:server只负责提供resource以及操作resource的服务,而client要根据
resource中的data和representation自己做render。这就减少了服务器的开销。

rest 请求的好处

到底为什么要用REST这种设计风格呢,好处如下:

可以充分利用缓存cache来提高响应速度
通讯本身的无状态可以让不同的服务器的处理所有类型的请求,提供了服务器的扩展性
浏览器就可以充当客户端,简化软件需求
相对于其他叠加在HTTP协议只上的极致,REST依赖性更小
不需要额外的资源发现机制
在软件技术演进中长期来看具有良好的兼容性



REST特点

* 客户端-服务器:拉风格的交互模式:消费方组件把表示拉出来

* 无状态:每个从客户端到服务器的请求必须包含足够的信息使得服务器理解该请求,不需要服务器上存储的上下文信息

* 缓存:为了提高网络效率,响应应该可以被标示成可缓存的或是不可缓存的

* 统一的接口:所有资源通过通用的接口访问(HTTP GET, POST, PUT, DELETE)

* 命名资源:系统由通过URL命名的资源组成

* 互连的资源表示:资源的表示通过URL互相联系起来,从而客户端可以从一个状态转换到另一个

* 层次化的组件:中间件,比如代理服务器,缓存服务器,网关等,可以插入到客户端和资源中间来完成安全和安全等功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: