首页 > 其他分享 >关于RPC和HTTP的理解

关于RPC和HTTP的理解

时间:2023-05-20 21:45:34浏览次数:30  
标签:调用 HTTP 传输 RPC 理解 远程 服务器之间

RPC(Remote Procedure Call,远程过程调用)和HTTP(Hypertext Transfer Protocol,超文本传输协议)是两种不同的通信协议,用于在计算机网络中实现不同系统之间的通信和数据交换。

  1. RPC(远程过程调用):

    • RPC是一种通信机制,允许一个程序调用另一个运行在不同地址空间的程序或服务的方法(即远程过程)。
    • RPC隐藏了底层通信细节,使得远程调用过程对于调用方来说就像是本地方法调用一样。
    • RPC通常使用编程语言提供的远程调用库或框架来简化远程调用的实现和使用。
  2. HTTP(超文本传输协议):

    • HTTP是一种应用层协议,用于在客户端和服务器之间传输超文本文档(如网页)和其他资源。
    • HTTP基于请求-响应模型,客户端发送HTTP请求到服务器,服务器响应HTTP请求并返回相应的数据。
    • HTTP使用URL(Uniform Resource Locator)来定位和标识要访问的资源。
    • HTTP通常基于TCP/IP协议栈进行数据传输。

对比:

  • RPC是一种通信机制,用于实现远程过程调用,可以调用远程的方法或服务。
  • HTTP是一种应用层协议,用于在客户端和服务器之间传输超文本文档和其他资源。

主要区别:

  • RPC更关注方法或服务的调用和执行,着重于应用程序之间的交互和数据传输。
  • HTTP更关注资源的获取和传输,主要用于浏览器和服务器之间的通信。

虽然RPC和HTTP有不同的设计目标和应用场景,但它们在实践中可以相互补充和结合使用。例如,可以使用HTTP作为底层的传输协议,而在其上使用RPC框架实现远程方法调用,从而实现跨网络的服务调用和数据交换。
将RPC请求和响应封装在HTTP消息中进行传输。这样可以利用HTTP的广泛支持和基础设施,并将RPC的高级功能与HTTP的生态系统结合起来。例如Dubbo2(基于http)和Dubbo3(基于gRPC)。

标签:调用,HTTP,传输,RPC,理解,远程,服务器之间
From: https://www.cnblogs.com/road2master/p/17417834.html

相关文章

  • HTTP 响应状态码
    状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。这一期我们就来总结一下HTTP状态码。HTTP状态码分为5类:状态码类别原因短语1XXInformational(信息性状态码)接收的请求正在处理2XXSuccessful(......
  • git 连接方式SSH、https方式相互切换
    1、gitremote-v  --查看当前是ssh还是https方式连接2、从ssh切换至httpsgitremoteset-urloriginhttps://xxxx.git(复制仓库https连接)3、从https方式切换至sshgitremoteset-urlorigingit@/xxxxx.git(复制仓库ssh连接) ......
  • 小白如何理解软件自动化接口测试
    随着软件开发行业的不断发展,软件测试接口自动化已经成为了一种趋势。接口自动化可以提高软件测试的效率和准确性,减少人力成本和时间成本,帮助企业更好地实施软件测试接口自动化。1.选择合适的自动化测试工具在进行接口自动化测试之前,需要选择一款适合自己的自动化测试工具。市......
  • 如何挑选合适的海外HTTP代理?海外IP哪家强
    不整虚的,简单粗暴看这些海外HTTP代理服务商的官网就好了:以最基础的量去随便搜常见的那几家就行啦。大家熟知的bright data,得500美元一个月,相当于11.48美元/G,换成现在的汇率,得80.7元/G了。ipidea属于充值模式:1000元/月,动态数据中心IP的话,是15元/GB。netnut是100美元/月使用100GB,也......
  • servJump extends HttpServlet //request.getRequestDispatcher //response.sendRed
    packagecom.test;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;impo......
  • 信息熵、交叉熵、KL散度公式的简单理解
    整理:我不爱机器学习1信息量信息量是对信息的度量,就跟时间的度量是秒一样,考虑一个离散的随机变量x的时候,当观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢?例如听到太阳从东方升起,这样信息对于我们来说价值不大,因为这是一个必然事件,所以这个信息传递给我们的信息量为......
  • Fiddler抓包工具安装HTTPS证书
    安装好之后,打开Fiddler根目录,打开CMD执行以下内容makecert.exe-r-ssmy-n"CN=DO_NOT_TRUST_FiddlerRoot,O=DO_NOT_TRUST,OU=Createdbyhttp://www.fiddler2.com"-skysignature-eku1.3.6.1.5.5.7.3.1-h1-cyauthority-asha1-m120-b09/11/2022注意上面命令中,最后......
  • 对sockpair加fork的理解
    socketpair创建了一对无名的套接字描述符(只能在AF_UNIX域中使用),描述符存储于一个二元数组eg.s[2]这对套接字可以进行双工通信,每一个描述符既可以读也可以写。这个在同一个进程中也可以进行通信,向s[0]中写入,就可以从s[1]中读取(只能从s[1]中读取),也可以在s[1]中写入,然后从s[0]中读......
  • Nacos 核心原理解读+高性能微服务系统实战
    Nacos核心原理解读+高性能微服务系统实战download:3w51xuebccom《模拟人生4》(TheSims4)是一款由Maxis和TheSimsStudio开发,由ElectronicArts发行的模拟人生游戏。它被广泛认为是模拟人生系列中最好玩的一部分。本文将向您介绍TS4的入门知识。TS4的基本概念在TS4中,你可以创建......
  • 为什么有了 HTTP 还要 RPC
    哈喽大家好,我是咸鱼随着互联网技术的发展,分布式架构越来越被人们所采用。在分布式架构下,为了实现复杂的业务逻辑,应用程序需要分布式通信实现远程调用而这时候就需要一种协议来支持远程过程调用,以便实现不同应用程序之间的数据交换和信息传递。其中常用的协议包括HTTP协议和RP......