RPC协议与Http协议区别[通俗易懂]

RPC协议与Http协议区别[通俗易懂]RPC调用RPC是远程过程调用(RemoteProcedureCall)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。本地过程调用:如果需要完成业务逻辑,则直接去调用本地的方法即可.远程过程调用:我想完成一个业务的调用,但是该功能我没有办法直接调用,需要通过第三方帮助我完成业务规则.具体用法:RPC不关注具体的实现规则,用户也不需要了解具体的协议.谁调用谁

大家好,又见面了,我是你们的朋友全栈君。

RPC调用

RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。

本地过程调用: 如果需要完成业务逻辑,则直接去调用本地的方法即可.
远程过程调用: 我想完成一个业务的调用,但是该功能我没有办法直接调用,需要通过第三方帮助我完成业务规则.
具体用法: RPC不关注具体的实现规则,用户也不需要了解具体的协议.谁调用谁实现.

Http协议

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。

尽管TCP/IP协议是互联网上最流行的应用,HTTP协议中,并没有规定必须使用它或它支持的层。事实上,HTTP可以在任何互联网协议上,或其他网络上实现。HTTP假定其下层协议提供可靠的传输。因此,任何能够提供这种保证的协议都可以被其使用。因此也就是其在TCP/IP协议族使用TCP作为其传输层。

通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如”HTTP/1.1 200 OK”,以及返回的内容,如请求的文件、错误消息、或者其它信息。

RPC与HTTP区别

网络7层协议如图所示
在这里插入图片描述
层级关系与对应的协议
在这里插入图片描述

区别:

1.RPC是传输层协议(4层).而HTTP协议是应用层协议(7层).
2.RPC协议可以直接调用中立接口,HTTP协议不可以.
3.RPC通信协议是长链接,HTTP协议一般采用短连接需要3次握手(可以配置长链接添加请求头Keep-Alive: timeout=20).
(长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。)
4.RPC协议传递数据是加密压缩传输.HTTP协议需要传递大量的请求头信息.
5.RPC协议一般都有注册中心.有丰富的监控机制.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144425.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 下午4:00
下一篇 2022年5月19日 下午4:20


相关推荐

  • java静态变量加载顺序_内部类为什么不能有静态

    java静态变量加载顺序_内部类为什么不能有静态静态内部类加载顺序我们先来区分一下两个概念:类加载、加载。类加载的过程包括加载,初始化,验证,解析,准备,初始化等五个过程。加载是类加载的一部分。区分完这两个概念之后我们再来看下面的问题。我们声明一个类,这个类有个内部静态类。还有主函数,当我们启动程序之后,运行javaapplication……

    2022年10月10日
    5
  • 微信本地数据库解密[通俗易懂]

    微信本地数据库解密[通俗易懂]微信本地数据库解密(安卓)微信的本地数据库EnMicroMsg.db存储在/data/data/com.tencent.mm/MicroMsg/(一长串)/中uin存储在/data/data/com.tencent.mm/shared_prefs/com.tencent.mm_preferences.xml(或auth_hold_prefs.xml)中,IMEI存储在/data/data/…

    2022年6月1日
    41
  • VMware虚拟机开启导致宿主机蓝屏

    VMware虚拟机开启导致宿主机蓝屏开启虚拟机的虚拟化后,运行VMware中虚拟机导致win10蓝屏备注;win10家庭中文版20H2+VMware16.0由于需要开启虚拟化功能,运行VMware中的eve虚拟机。且eve虚拟机也要开启虚拟化才能运行qemu镜像。1.但是开启eve的虚拟化后,虚拟机无法打开,解决方案:1.cmd管理员身份打开,输入Msinfo32,查看是否关闭基于虚拟化的安全性。如果未关闭输入bcdeditset/hypervisorlaunchtypeoff,然后重启。下面在控制面板取消勾选

    2022年8月21日
    18
  • 智能优化算法经验谈[通俗易懂]

    智能优化算法经验谈[通俗易懂]智能优化算法、全局优化、元启发式算法、差分进化算法、遗传算法、模拟退火算法、蚁群算法、粒子群算法

    2022年5月23日
    48
  • 老 Intel Mac Tahoe 26.3 部署 OpenClaw 极简指南

    老 Intel Mac Tahoe 26.3 部署 OpenClaw 极简指南

    2026年3月12日
    2
  • 删除流氓软件的方法「建议收藏」

    删除流氓软件的方法「建议收藏」      电脑在网上下载一些东西时经常被捆绑下载很多流氓软件,导致电脑是不是跳出一些弹窗广告,烦不胜烦。经过努力奋斗终于把流氓软件都删除了,下面介绍几个删除流氓软件的经验。      1、如果软件不是安装在C盘,可以使用bitloacker给D盘加密,这样开机就不能自启,就可…

    2022年6月3日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号