是否有任何明确的RPC和Web服务定义?快速维基百科搜索显示:
RPC:远程过程调用(RPC)是一种进程间通信技术,它允许计算机程序使子例程或过程在另一个地址空间(通常在共享网络上的另一台计算机上)上执行,而无需程序员明确编写详细信息这种远程互动.
Web服务:Web服务通常是应用程序编程接口(API)或Web API,可通过超文本传输协议访问,并在托管所请求服务的远程系统上执行.Web服务往往属于两大阵营之一:Big Web Services [1]和RESTful Web Services.
我不太清楚这两件事之间的真正区别.似乎有一件事可能属于RPC,同时也是一种Web服务.
Web Service是RPC的更高级别表示吗?
Way*_*man 55
Web Service是RPC的更高级别表示吗?
是的.Web服务是RPC的特定实现.在最低级别,所有Web服务都连接到套接字,使用HTTP协议协商发送在远程空间中执行的有效负载(它甚至可以在同一台计算机上,供所有消费者知道).所有这些抽象都是其核心RPC.
小智 9
我看到这个问题。这个问题很久以前就有人问过了,但我认为这个社区中任何人的答案,提供关于这个主题的更多信息和清晰度,将对未来的提问者有所帮助。所以,我想添加我的增强功能,指出关键差异,我希望这对未来的读者有所帮助。
------------------------------------------------------------------------------
| Category | RPC | Web Services
------------------------------------------------------------------------------
|Operation's Location | On top of TCP | on top of HTTP Protocol
------------------------------------------------------------------------------
|Data format | Binary | Text, XML, JSON, ect.
------------------------------------------------------------------------------
|Speed | Slow (Marshalling) | Fast
------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
RPC 和 Web Services 的描述我没有提到,因为你在别人的回答里看的很清楚。
小智 5
远程过程调用(RPC)和WebService,就功能而言都是平行的.但是他们的调用方式存在细微差别.任何应用程序都可以调用Web服务,使用基于HTTP协议的XML格式进行程序及其可互操作性,而在RPC的情况下,该函数可以由多个应用程序调用,因此它遵循序列化的路径来存储对象数据.它支持TCP协议上的二进制格式.在更好的方法中,我们可以简要介绍RPC工作流,就像我们通过正确的Socket和正确的消息格式执行函数一样,但是不知道客户端服务器中特定函数的实际存在.即使提供的套接字可能不在功能所在的同一服务器.但每次它给人的感觉就像功能位于本地.在远程服务中,函数驻留在远程计算机中,它可以通过适当的格式和协议调用,并且它允许可伸缩性.