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作为传输方法。
