REST样式的WEB服务

参考资料

Building Web Services the REST Way

面向资源与面向活动的 Web 服务

Architectural Styles and the Design of Network-based Software Architectures

www.iteye.com/topic/70113

摘要

        看了以上关于REST的资料,还是不太理解REST是个什么东东。个人觉得REST主要是一种设计的理念,架构的样式,类似于模式的东西。

        其本质是借助于HTTP协议处理基于资源访问的业务需求,主要适用的场合是针对某种类型数据的CRUD操作,通过URL来标识用户需要请求的资源。

        而基于WSDL/SOAP的WEB服务是通过规范确定了如何描述用户的请求和响应格式。      

REST主要特性

        Client-Server:基于拉式的交互方式。
        无状态: 每个请求必须包含所有必须的信息,不能利用任何服务器保存的上下文信息。
        缓存:为提高网络传输效率,响应必须能够标识为可缓存和不可缓存的。
        统一接口:基于一个统一的接口访问所有的资源如:HTTP GET,POST,PUT,DELETE。
        命名的资源集:系统由使用URL命名的资源集组成。
        分层模式:客户端和要访问的资源之间可以插入任何中间媒介,如代理服务器,缓存服务器,网关。

设计原则

        首先标识所有需要暴露为服务的概念实体。
        针对每一个资源创建一个URL,这些资源应该是名词而不是动词。
        根据客户端是否仅接受资源还是需要创建,更改资源进行分类。
        所有使用HTTP GET访问的资源,都不应该导致更改资源。
        在资源的表示中包含超链接来访问其他相关资源的信息。
        设计数据粒度,不要在单个响应文档中返回所有信息。
        使用XML SCHEMA,DTD等指定响应数据的格式。
        使用WSDL或HTML文档描述应该如何使用你的服务。

你可能感兴趣的:(设计模式,Web,REST,网络协议,SOAP)