1.介绍RPC(百度真题)
RPC (远程过程调用) 是一个计算机通信协议。简单地说就是能使应用像调用本地方法一样的调用远程的过程或服务,可以应用在分布式服务、分布式计算、远程服务调用等许多场景。说起 RPC 大家并不陌生,业界有很多开源的优秀 RPC 框架,例如 Dubbo、Thrift、gRPC、Hprose 等等。
优点: 使用自定义的二进制形式进行数据传输, 效率极高
应用场景: 子系统之间进行数据交互
流程:
1.调用者(Caller, 也叫客户端、Client)以本地调用的方式发起调用;
2.Client stub(客户端存根,可理解为辅助助手)收到调用后,负责将被调用的方法名、参数等打包编码成特定格式的能进行网络传输的消息体;
3.Client stub将消息体通过网络发送给对端(服务端)
4.Server stub(服务端存根,同样可理解为辅助助手)收到通过网络接收到消息后按照相应格式进行拆包解码,获取方法名和参数;
5.Server stub根据方法名和参数进行本地调用;
6.被调用者(Callee,也叫Server)本地调用执行后将结果返回给server stub;
7.Server stub将返回值打包编码成消息,并通过网络发送给对端(客户端);
8.Client stub收到消息后,进行拆包解码,返回给Client;
9.Client得到本次RPC调用的最终结果。
2.HTTPS和HTTP有什么区别 HTTPS执行流程图?
1.HTTPS协议需要到证书颁发机构(Certificate Authority,简称CA)申请证书,一般免费证书很少,需要交费。
2.HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
3.HTTP和HTTPS使用的是完全不同的连接方式,使用的端口也不一样,前者是80,后者是443。
4.HTTP的连接很简单,是无状态的 。
5.HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议, 要比HTTP协议安全。
6.HTTPS 和HTTP 协议相比提供了:
数据完整性:内容传输经过完整性校验
数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
身份认证:第三方无法伪造服务端(客户端)身份
数据完整性和隐私性由TLS Record Protocol保证,身份认证由TLS Handshaking Protocols实现。