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

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

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

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