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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jquery $.post

    jquery $.post

    2022年1月25日
    38
  • 如何查找共享打印机的电脑_怎么通过计算机名连接共享打印机

    如何查找共享打印机的电脑_怎么通过计算机名连接共享打印机大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。以电脑为例,查找网络共享打印机的方法有:1、双击网上邻居,查看工作组计算机,找到打印机主机的名字,双击进入,找到打印机,双击添加即可。2、左下角单击开始――设置――控制面板,打印机和传真,添加打印机,下一步,选择“网络打印机”,点击浏览,找到打印机主机名,双击选择,确定即可。打印机(Printer)是计算机的输出设备之一,用于将…

    2022年10月22日
    0
  • windows10 记事本进程 键盘消息钩子 dll注入

    windows10 记事本进程 键盘消息钩子 dll注入看了很多文档,垮了很多坎,终于完成了这个demo;有很多个人理解,可能不完全正确,见谅;先上实现的图片:如图,我通过SetWindowsHookEx()函数向记事本进程中当前窗口线程注入了自己写的dll,dll中设置的回调函数使,当键盘按了1,那么就会触发一个MessageBox。工具:VS2015,PCHunter(用于查看是否成功注入了dll,其实看能否实现功能就信…

    2022年7月26日
    13
  • webstorm激活 3月最新注册码

    webstorm激活 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    35
  • jasypt加密原理_encrypt加密

    jasypt加密原理_encrypt加密没什么好说的了,直接看demo。添加依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> &lt

    2022年9月26日
    0

发表回复

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

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