当前位置:首页 > 科技  > 软件

从RPC到HTTP:网络通信协议的演变

来源: 责编: 时间:2024-04-26 17:34:25 247观看
导读前言随着信息技术的飞速发展,网络通信协议在构建分布式系统和应用程序中发挥着至关重要的作用。从早期的远程过程调用(RPC)到现代的超文本传输协议(HTTP),网络通信协议经历了显著的演变。在刚开始C/S架构流行时,对于C/S架构

前言

随着信息技术的飞速发展,网络通信协议在构建分布式系统和应用程序中发挥着至关重要的作用。从早期的远程过程调用(RPC)到现代的超文本传输协议(HTTP),网络通信协议经历了显著的演变。8mV28资讯网——每日最新资讯28at.com

在刚开始C/S架构流行时,对于C/S架构下的软件,如聊天软件、办公软件等,它们只需要与自己公司的服务器通信,所以可以使用自家定制的RPC协议进行远程调用即可。但随着万维网与B/S架构的出现,浏览器产生了,而浏览器需要访问来自不同公司的很多网站,这不能通过RPC进行访问,所以需要一个统一的标准来与这些网站服务器通信。8mV28资讯网——每日最新资讯28at.com

这时HTTP协议发挥作用的地方,HTTP为B/S架构(浏览器/服务器架构)提供了一个统一的标准,让不同网站的服务器能够与浏览器交互,HTTP也是RPC的一种实现方式。8mV28资讯网——每日最新资讯28at.com

图片图片8mV28资讯网——每日最新资讯28at.com

建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket ,套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。8mV28资讯网——每日最新资讯28at.com

图片图片8mV28资讯网——每日最新资讯28at.com

在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP。8mV28资讯网——每日最新资讯28at.com

介绍

图片图片8mV28资讯网——每日最新资讯28at.com

RPC

RPC(Remote Procedure Call:远程过程调用):是一种进程间通信方式,是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。8mV28资讯网——每日最新资讯28at.com

RPC基于TCP协议,客服端与服务端需要进行三次握手完成可靠连接,第四步进行数据传输。因为TCP是数据传输层,传输协议需要服务器统一编写,进行二进制传输,依赖序列化和反序列化规则,对于大部分应用需要灵活变动数据则不适用,RPC常用于Socket连接或一些基本不变动的传输格式数据,减少数据变动带来的开发成本。8mV28资讯网——每日最新资讯28at.com

比如说现在有两台服务器A和B,一个应用部署在A服务器上,另一个应用部署在B服务器上,如果A应用想要调用B应用提供的方法,由于他们不在一台机器下,也就是说它们不在一个JVM内存空间中,是无法直接调用的,需要通过网络进行调用,那这个调用过程就叫做RPC。8mV28资讯网——每日最新资讯28at.com

  • 由于HTTP在应用层中完成,整个通信的代价较高,远程过程调用中直接基于TCP进行远程调用,数据传输在传输层TCP层完成,更适合对效率要求比较高的场景,RPC主要依赖于客户端和服务端之间建立Socket链接进行,底层实现比REST更复杂。
  • 无论是何种类型的数据,最终都需要序列化转换成二进制流在网络上进行传输,数据的发送方需要将对象序列化转换为二进制流,而数据的接收方则需要把二进制流反序列化为对象.

HTTP

HTTP(Hypertext Transfer Protocol:超文本传输协议):是互联网上应用最为广泛的一种应用层协议,主要用于分布式、协作式和超媒体信息系统的应用,如万维网(WWW),客户端发起请求,服务器处理请求并返回响应,通常用于web浏览器和web服务器间的通信,HTTP定义了请求报文和响应报文的结构以及不同的请求方法(GET, POST等)8mV28资讯网——每日最新资讯28at.com

图片图片8mV28资讯网——每日最新资讯28at.com

补充

HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)8mV28资讯网——每日最新资讯28at.com

图片图片8mV28资讯网——每日最新资讯28at.com


8mV28资讯网——每日最新资讯28at.com

gRPC是Google发布的基于HTTP 2.0传输层协议承载的高性能开源软件框架,提供了支持多种编程语言的、对网络设备进行配置和纳管的方法。

图片图片8mV28资讯网——每日最新资讯28at.com

8mV28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-85871-0.html从RPC到HTTP:网络通信协议的演变

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Nginx负载均衡算法选择指南:优化性能的智慧

下一篇: Go语言是 如何实现 HTTP代理 和 反向代理

标签:
  • 热门焦点
  • 小米官宣:2023年上半年出货量中国第一!

    今日早间,小米电视官方微博带来消息,称2023年小米电视上半年出货量达到了中国第一,同时还表示小米电视的巨屏风暴即将开始。“公布一个好消息2023年#小米电视上半年出货量中国
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 网红炒股不为了赚钱,那就是耍流氓!

    来源:首席商业评论6月26日高调宣布入市,网络名嘴大v胡锡进居然进军了股市。在一次财经媒体峰会上,几个财经圈媒体大佬就“胡锡进炒股是否知道认真报道”展开讨论。有
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
  • 北京:科技教育体验基地开始登记

      北京“科技馆之城”科技教育体验基地登记和认证工作日前启动。首批北京科技教育体验基地拟于2023年全国科普日期间挂牌,后续还将开展常态化登记。  北京科技教育体验基
Top