RESTful Webservice (一) 概念

Representational State Transfer(表述性状态转移)

RSET是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。

REST的设计概念和准则为:

  1. 网络上的所有事物都可以被抽象为资源
  2. 每一个资源都有唯一的字元标识,对资源的操作不会改变这些标识
  3. 所有的操作都是无状态的

REST架构风格最重要的架构约束:

    1. 客户-服务器

     通信只能由客户端单方面发起,表现为请求-响应的形式

    2. 无状态

     通信的会话状态(session state)应该全部由客户端负责维护

    3. 缓存

    响应内容可以在通信链的某处被缓存,以改善网络效率

    4. 统一接口

    通信链的组件之间通过统一的接口相互通信,以提高交互的可见性

    5. 分层系统

    通过限制组件的行为(每个组件只能看到与其交互的紧邻层),将架构分解为若干等级的层

    6. 按需代码

    支持通过下载并执行一些代码(如Java Applet,Flash或JavaScript),对客户端的功能进行扩展

遵循CRUD原则:

           对于资源只需要四种行为:创建、获取、更新和删除。

           可通过URI来识别和定位资源,并通过GET、PUT、POST、DELETE操作。

REST核心是url和面向资源。

REST思想的关键点:

    1. 面向资源的接口设计

      所有接口设计都是针对资源设计的。

    2.抽象操作为基础的CRUD

      HTTP中的GET,PUT,POST,DELETE对应了read,update,create,delete四种操作。

    3.HTTP是应用协议而非传输协议

    4.无状态,自包含

RESTful WebService是基于SOAP消息的WebService简单的多的一种轻量级Web服务,

它是没有状态的,发布和调用都非常的轻松容易。

原文地址:https://www.cnblogs.com/dreamerjdw/p/6187937.html