Ethan Lab 软件开发 · 产品管理 · 科技评测
返回研究笔记

主流通信协定介绍(RPC、SOAP、REST)

更新于

Remote Procedure Call (RPC)

起源于1976年,允许Client远程调用Server的子程序,然后将运行结果返回给Client;当时的传输数据常使用二进制格式,为了统一数据传输格式,随后出现了XML-RPC, XML作为数据交换语言的RPC机制。

Simple Object Access Protocol (SOAP)

起源于1998年,由于RPC经常被Firewall及Proxy Server阻挡,为解决兼容及安全性问题,采用HTTP(起源于1989)是更好的方法,SOAP还提供了一套标准方法让程序间可以互相通信。可以简单把SOAP当作RPC+XML+HTTP(POST only)+有状态的通信方法。

Representational State Transfer (REST/RESTful)

起源于2000年,由于SOAP过于复杂且依赖状态,REST提倡使用标准的HTTP中的四种动作GET、PUT、POST及DELETE,以及Uniform Resource Identifier (URI)来指定资源,降低开发的复杂性。可以简单把REST当作PRC+XML+HTTP(GET,PUT,POST,DELETE)+URI+无状态的通信方法。

发展趋势

REST风格相比XML-RPC及SOAP更加简洁易用,而JSON数据交换语言相较XML更加轻量,目前大多数的Web Service都采用REST+JSON作为传输方法。