我最近发现 RPC 和 REST 只是 API 构造,而不是两个服务通过网络进行通信和发送数据的不同协议。在这两种情况下,底层协议仍然是 HTTP。
我想到的问题是 - 在 RPC 出现之前,服务是如何进行通信的?
这可能非常微不足道,但我只是想了解 REST、RPC、HTTP 之间的一些区别,并尝试有清晰的概念
我最近发现 RPC 和 REST 只是 API 构造,而不是两个服务通过网络进行通信和发送数据的不同协议。在这两种情况下,底层协议仍然是 HTTP。
如果您想了解远程过程调用,那么一个合理的起点是 Bruce Jay Nelson 1981 年的论文。 (请注意,这比 HTTP 早 10 年,比 REST 早 15 到 19 年,具体取决于您从何时开始)。
如果您想了解 REST,那么合理的起点是 Roy T. Fielding 2000 年论文
的第 5 章如果您想了解为什么某些 HTTP API 设计被归类为 RPC 而不是 REST,一个合理的起点是 Fielding 在 2008 年的咆哮REST API 必须是超文本驱动的。
在 RPC 出现之前,服务是如何进行通信的?
这个问题可能是倒退的——我不确定我们在有 RPC 之前是否有“服务”。