REST和SOAP

来源:互联网 发布:java中的标识符 编辑:程序博客网 时间:2024/05/16 19:07

什么是REST

1. 显式地使用 HTTP 方法

REST 要求开发人员显式地使用 HTTP 方法,并且使用方式与协议定义一致。 这个基本 REST 设计原则建立了创建、读取、更新和删除(create, read, update, and delete,CRUD)操作与 HTTP 方法之间的一对一映射。 根据此映射:
若要在服务器上创建资源,应该使用 POST 方法。
若要检索某个资源,应该使用 GET 方法。
若要更改资源状态或对其进行更新,应该使用 PUT 方法。
若要删除某个资源,应该使用 DELETE 方法。

2. 无状态

完整、独立的请求不要求服务器在处理请求时检索任何类型的应用程序上下文或状态。 REST Web 服务应用程序(或客户端)在 HTTP Header 和请求正文中包括服务器端组件生成响应所需要的所有参数、上下文和数据。 这种意义上的无状态可以改进 Web 服务性能,并简化服务器端组件的设计和实现,因为服务器上没有状态,从而消除了与外部应用程序同步会话数据的需要。

3.  公开目录结构式的 URI

REST Web 服务 URI 的直观性应该达到很容易猜测的程度。 将 URI 看作是自身配备文档说明的接口,开发人员只需很少(如果有的话)的解释或参考资料即可了解它指向什么,并获得相关的资源。 为此,URI 的结构应该简单、可预测且易于理解。

4. 传输 XML、JSON 或同时传输这两者


REST和SOAP有什么区别:

1. 传统的SOAP,返回xml,客户端访问的时候需要添加服务引用才可以。

2. REST完全使用http协议来进行传输,无需添加任何引用,独立于任何技术和平台。

3. REST的效率和易用性更高。

4.安全性SOAP更高,REST只能通过SSL进行安全性提高,而SOAP通过使用WS-SECURITY已经得到了很多语言的支持。


WCF RESTFUL和WEBAPI的一些区别:

不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式),它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮,这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好。

对外通信选择webapi,对内双通信选择wcf


0 0
原创粉丝点击