首页 > 关于RPC、HTTP、WebService的区别

关于RPC、HTTP、WebService的区别

一直搞不清楚RPC、HTTP、WebService有什么区别,想请教一下各位前辈指导一下

还有Dubbo和Thrift,感觉越来越混乱了……


rpc是远程过程调用,你可以这么理解,就是在另外一台服务器上有一段代码(函数),你可以通过网络远程调用它。用什么协议(http,tcp,udp…),传输什么数据格式(json,xml,二进制…)你都可以自己定义。

http只是一种应用层的协议,和你要写的代码没有关系。你只需要好好的了解它,并且利用好它的特性就好了。

webservice,顾名思义这也是一种提供service的形式,只是它是通过http(web)来提供service而已。你可以基于http来提供你想提供的任意的服务,可以是rpc,也可以是restful。


关于 REST 介绍的文章已经很多了,这里只对 RPC 部分做一个介绍:

RPC(远程过程调用)是什么

远程过程调用发展历程

早期的 RPC

XML-RPC,SOAP,WebService

PHPRPC

Hessian

JSON-RPC

Microsoft WCF,WebAPI

ZeroC Ice,Thrift,GRPC

Hprose


都可以作为远程调用的方式 载体协议不同而已


我的理解是,RPC是一种基于HTTP协议的WebService实现方式,可以参考下鸟哥的Yar:
客户端:
http://php.net/manual/zh/yar-concurrent-client.call.php
服务器端:
http://php.net/manual/zh/yar-server.construct.php

【热门文章】
【热门文章】