这篇论文定义了一个框架,致力于通过架构风格来理解软件架构,并且展示如何使用风格来指导基于网络的应用的架构设计。本文使用了一个对基于网络的应用的架构风格的调查,根据不同的风格在分布式超媒体的架构中所导致的架构属性,来对这些风格进行分类。然后我介绍了表述性状态转移(RepresentationalStateTransfer,REST)的架构风格,并且描述了如何使用REST来指导现代Web架构的设计和开发。REST强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件(intermediarycomponents)。我描述了指导REST的软件工程原则和选择用来支持这些原则的交互约束,并将它们与其他架