REST
Representational State Transfer, 是一种软件架构风格,提供一系列限制指导,用于更好的创建web service。
符合REST 架构风格的web service 称为Restful web service。
其核心是以资源为关注点,而不是方法或消息, RESTful通常是用URL定位资源,HTTP动词(GET, POST, DELETE, PUT等) 描述对资源的操作,该操作过程即改变资源的表现形式,可使用JSON, XML等文件传递该资源操作信息。
Web端主要负责渲染和附带处理简单的商务逻辑,通过Restful API (JSON或其他格式,动词 + 名词)来传递数据和改变数据状态
对比RPC & SOAP
简要对比下RPC & REST & SOA,不同的服务器向客户端提供服务的方法
SOAP和REST严格来说不是两个对等的概念,可理解为两种服务设计思想和及其具体的实现架构。
二者各有自己的使用场景。如果创建的分布式服务要求较好的安全性,对于传输等底层实现要求较强的可定制性,可以考虑SOAP;如果要求设计实现简单,一般来说安全性要求不高可以考虑REST。这只是一般情况,但偏于面向资源的服务使用REST有天然的优势。
SOAP在.NET中多使用WCF框架,而RESTful则多使用Web API。
具体可参考Microsoft技术杂志文章
Restful API
REST API.pngGET /products : will return the list of all products
POST /products : will add a product to the collection
GET /products/4 : will retrieve product #4
PATCH/PUT /products/4 : will update product #4
- 其中GET和HEAD方法不能设计可对资源状态进行改变
- Resource推荐使用复数,其地址推荐使用嵌套结构
- 使用正确的HTTP Status Code表示访问状态。
- 返回结果使用简明string, 适当注释。
Restful 的好处,无需关注不同的Client等
Restful.png
网友评论