当前位置: 首页 > article >正文

HTTP与RPC

一、概念

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,主要用于在Web服务器之间传输html页面和其他Web资源。

RPC(Remote Procedure Call,远程过程调用) 是一种通用的远程调用通信协议,它用于在不同的计算机之间执行执行远程方法的调用。该协议的目的是为了一个应用程序调用远程服务器上的方法时,就像调用本地方法一样方便,程序员无需做任何额外开发来保证调用的顺利完成。

二、通信方式

        http是无状态的协议,使用的是请求-响应的模式,每次请求建立连接,响应结束则中断本次连接。客户端与服务端的通信其实是不可靠的,需要使用其它机制来保证数据的完整性与一致性。

        RPC的通信是有状态的,客户端通过调用远程服务器上的方法来发送请求,服务器则会对该请求进行处理并返回相关数据。

三、数据传输

        http通常使用JSON和XML等文本格式进行传输,这种方式具有良好的可读性和可扩展性,但是它比二进制数据的传输更慢,并且需要更多的带宽。

        RPC则可以使用二进制数据传输,比如google的protobuf(Protocol Buffers)、Apache Thrift等。这些协议有更高的效率与更小的数据传输量,但可读性和可扩展性较差。

四、使用场景

        http一般用于web应用,例如web应用服务器或浏览器,可使用各种语言来开发,RPC主要用于分布式应用和互联网应用中,其实高效可靠的特点,使其被广泛运用于云计算和大数据等领域。

五、使用中需要考虑

        性能问题,如传输速度、使用的序列化工具、是否长连接、安全性等问题。http通常结合ssl/tls协议来确保安全性,RPC则通过数据加密与身份认证来确保通信安全。


http://www.kler.cn/a/369637.html

相关文章:

  • war和jar包的区别
  • 基于STM32G0的USB PD协议学习(3)
  • JVM基础(内存结构)
  • Android 应用包名的定义 pm list packages查询的包名
  • SELinux详解
  • Ajax:XMLHttpRequest
  • leetcode hot100【LeetCode 104. 二叉树的最大深度】java实现
  • 监控场景下,视频SDK的应用策略
  • Chrome谷歌浏览器加载ActiveX控件之allWebDesktop控件介绍
  • 要将Burp Suite设置为中文,操作步骤
  • 基于SSM轻型卡车零部件销售系统的设计
  • 特种作业操作高压电工题库
  • 容器化核心快速入门
  • 隨筆 20241023 Kafka 的数据事
  • 11月12日Sui Connect: 曼谷站开启,准备好见面了吗?
  • 自考经历与学习总结
  • 【Spring】Spring Boot 配置文件(7)
  • Docker 私有仓库 Harbor介绍
  • go-zero 的使用
  • 深入解析 OceanBase 数据库中的局部索引和全局索引
  • 模型训练识别手写数字(一)
  • 深入理解支持向量机:从基本原理到实际应用
  • 数据库中少数民族名字的存储
  • vue子组件修改父组件的值
  • #渗透测试#红蓝对抗#Src漏洞挖掘 介绍-Yakit(3)
  • 深度学习:SGD的缺点