
_START_ARTICLE_
表现层状态转换
_START_PARAGRAPH_
表现层状态转换（英语：Representational State Transfer，缩写：REST）是Roy Thomas Fielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格，目的是便于不同软件/程序在网络（例如互联网）中互相传递信息。表现层状态转换是根基于超文本传输协议(HTTP)之上而确定的一组约束和属性，是一种设计提供万维网络服务的软件构建风格。符合或兼容于这种架构风格(简称为REST 或 RESTful)的网络服务，允许客户端发出以统一资源标识符访问和操作网络资源的请求，而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间，彼此资源可交互使用的协作性质(interoperability)。相对于其它种类的网络服务，例如 SOAP服务则是以本身所定义的操作集，来访问网络上的资源。_NEWLINE_当前在三种主流的Web服务实现方案中，因为REST模式与复杂的SOAP和XML-RPC相比更加简洁，越来越多的web服务开始采用REST风格设计和实现。例如，Amazon.com提供接近REST风格的Web服务运行图书查询；雅虎提供的Web服务也是REST风格的。
_START_SECTION_
关于状态
_START_PARAGRAPH_
应该注意区别应用的状态和连接协议的状态。HTTP连接是无状态的（也就是不记录每个连接的信息），而REST传输会包含应用的所有状态信息，因此可以大幅降低对HTTP连接的重复请求资源消耗。
_START_SECTION_
实现举例
_START_PARAGRAPH_
例如，一个简单的网络商店应用，列举所有商品，_NEWLINE_GET http://www.store.com/products_NEWLINE__NEWLINE_呈现某一件商品，_NEWLINE_GET http://www.store.com/products/12345_NEWLINE__NEWLINE_下单购买，_NEWLINE_POST http://www.store.com/orders_NEWLINE_<purchase-order>_NEWLINE_  <item> ... </item>_NEWLINE_</purchase-order>