首先RPC是可以基于TCP协议的,也可以基于HTTP协议的。而HTTP是基于HTTP协议的。
在说RPC和HTTP的区别之前,我们先了解一下OSI的七层网络结构模型
七层架构就是在在不可靠不安全的线路上建立安全的渠道
第一层:物理层。这一层主要就是传输这些二进制数据。
两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。
于是,科学家就发明了物理层:
就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特,物理层包括架空明线,光纤等。
第二层:数据链路层。将下面的网络层的数据包封装成数据帧,便于物理层传输;
现在通过电线我能发数据流了,但是,我还希望通过无线电波,通过其它介质来传输。然后我还要保证传输过去的比特流是正确的,要有纠错功能。
于是,发明了数据链路层:
定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。链路产品中最常见的当属网卡,网桥也是链路产品
第三层:网络层。定义网络设备间如何传输数据;
传输层只是解决了打包的问题。但是如果我有多台计算机,怎么找到我要发的那台?或者,A要给F发信息,中间要经过B,C,D,E,但是中间还有好多节点如K.J.Z.Y。我怎么选择最佳路径?这就是路由要做的事。