Remote Procedure Call 2020-02-25 Remote Procedure Call 当 A 机器中程序想要调用 B 机器中的程序时,A 中进程会被挂起,而 B 机器接着执行;B 机器在返回后,会把运算结果的数据传回给 A 机器的进程,A 机器获得调用结果后在接着执行,这种机制叫作 RPC(Remote Procedure Call)——远程过程调用。 RPC 协议 RPC 协议是一种通过网络向远程计算机程序请求服务,而不需要了解底层网络技术的协议。 RPC 协议以传输协议(TCP、UDP、HTTP)为基础,跨穿于 OSI 的传输层和应用层之间,通过利用现有的基础网络协议及自己良好的封装性,适用于基于网络的分布式应用开发。 RPC 调用原理 连接:通过在客户端和服务器之间建立TCP连接,远程过程调用的所有交换的数据都在这个连接里传输。 寻址:A服务器上的应用怎么告诉底层的RPC框架,如何连接到B服务器(如主机或IP地址)以及特定的端口。 编码:网络协议是基于二进制的,内存中的参数的值要序列化成⼆进制的形式,也就是序列化(Serialize)或编组(marshal),通过寻址和传输将序列化的二进制发送给B服务器。 解码:....
HTTP协议概念 2020-01-07 HTTP 协议应用的场景分析 在用户界面中,即浏览器 URL 地址栏中输入地址。 当地址还没有输入完整,浏览器引擎会从本地数据存储中查询历史数据,以便智能补全输入的完整地址。 按下 Enter 键后会由渲染引擎通过网络发起首次 HTTP 请求。 服务端响应 HTML 包体至客户端浏览器,渲染引擎接收到响应,并解析包体内容渲染至用户界面,并根据包体内的超链接构建新的 HTTP 请求,例如:js、CSS 等不同种类的超链接。 接收到服务端的响应,并交给对应的解释器,例如:JS 解释器。 渲染引擎拿到所需的所有文件后,通过UI 后端绘制到用户界面中。 一次完整的 HTTP 请求流程 Chrome 浏览器 Network 面板 Hypertext Transfer Protocol (HTTP) 协议 a stateless application-level request/response protocol that uses extensible semantics and self-descriptive message payloads for flexible inte....