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协议一般都有注册中心.有丰富的监控机制.

RPC协议与Http协议区别相关推荐

  1. 什么是RPC协议?RPC协议与HTTP协议的区别

    什么是RPC协议? RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议. 在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器. H ...

  2. RPC协议是什么?RPC协议与HTTP协议的区别

    什么是RPC协议? RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议. 在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器. H ...

  3. RPC协议与HTTP协议的区别

    1.RPC是一种API,HTTP是一种无状态网络协议,RPC可以基于HTTP协议实现,也可以在TCP协议实现. 2.RPC主要用在大型网站中,系统繁多,业务线复杂,重视效率,RPC优势明显. 3.HT ...

  4. SOA,SOAP,RPC,以及 RPC协议与 REST 协议之间的关系(搜狗)

    web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP.WSDL(WebServicesDescri ...

  5. HTTP协议与FTP协议的区别

    项目中应用到ftp,将ftp的笔记上传一下. 简单的说: HTTP是Hyper Text Transfer Protocol,超文本传输协议:面向网页的. FTP是File Transfer Prot ...

  6. 浅谈FIle协议与Http协议及区别

    背景 先看三段代码: index.html: <!DOCTYPE html> <html lang="en"> <head><meta c ...

  7. TCP/IP协议与UDP协议的区别

    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇.里面 ...

  8. Object-C非正式协议与正式协议的区别

    Object-C非正式协议与正式协议的区别 Object-C非正式协议与正式协议的区别 - braddoris的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/br ...

  9. HTTP协议与HTTPS的区别

    permike 原文 HTTP协议与HTTPS的区别 HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. HTTP是在七层网络模型中的应用层的协议,由发送请求和接受响应构成, ...

最新文章

  1. 综述|工业金属平面材料表面缺陷自动视觉检测的研究进展
  2. (四)Thymeleaf标准表达式之——[3-6] 操作符(文本、算术、布尔、比较及相等)...
  3. Swift:在Safari中打开App
  4. Toolbar-5.0新特性
  5. AnyChat Server SDK与SDK Filter Plus有何差异?
  6. C# 日志管理框架:Common.Logging和log4net
  7. [转] Java, 使用 Reactor 进行反应式编程
  8. Hive的hiveserver2后台开启和关闭
  9. Windows环境下 node 取消 npm install 采用软连接引用node_modules
  10. TensorFlow 语法及常用 API
  11. auxiliary variable(辅助变量)的引入
  12. DataBase简答题
  13. 苹果手机保存html文件,搞机技巧:在苹果iPhone上离线保存网页内容!
  14. tensorflow.js基本使用 图标识别(八)
  15. 亲戚关系关系算法java程序_python版亲戚关系计算器
  16. 计算机点击桌面无反应,为什么鼠标点击桌面图标没反应?
  17. Spring Cloud Eureka 自我保护机制(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY)
  18. 什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)
  19. 点击评论区让键盘弹起uni-app
  20. 随笔日记2018 4.10 关于多选框

热门文章

  1. CSAPP大作业——程序人生
  2. 3dMax Plugin
  3. 欧直AS355 NP 松鼠二型直升机
  4. http工具类,调用第三方接口
  5. 沧海竞舟-热身赛II 题解(上)
  6. 蓝牙耳机什么牌子性价比更高?双11高音质颜值在线蓝牙耳机推荐
  7. 如何设计存储分类,用来满足视频点播系统中大量内容分类和存储扩展的需求?
  8. 【MAPBOX基础功能】30、mapbox地图基础工具 - 将360度范围内的经纬度转换为180度范围
  9. linux 774是什么权限,Linux 权限位,权限值,权限管理
  10. 开发城市出租车智能调度中心