分层模型


TCP 传输控制协议
UDP 用户数据包协议
四层
应用层 负责发送/接收消息
传输层 负责拆分和组装 .期间会有编号
网络层 TCP/UDP 属于网络层, 不会判断和处理编号
数据链路层 以太网 ,网络设备

TCP 连接
TCP连接需要端口,进行通信
Java 通过Socket

接收消息

发送

连接的建立:
连接建立才可以用Http连接
三次握手,四次挥手
发送->相应-发送
连接关闭:
省资源,否则占用资源
客户端发送关闭-服务端发送-服务端发送关闭-客户端发送关闭
长连接:
实现方式:心跳,在规定时间内使用TCP连接发送一个消息
HTTPS:

SSL 安全套接字层
HTTP+SSL /TLS
SSL/TLS 对底层支持,在HTTP下增加安全层

对HTTP进行一层包装
HTTPS不是一种协议

非对称加密有延迟,慢, 影响性能
在初始阶段协商非对称加密的密钥
HTTPS 建立:
HTTP通过TLS建立连接

使用非对称加密协商,然后

连接建立过程







随机数用于数据加密


使用服务器的公钥加密发送数据

hash计算的签名



根证书 一般是操作系统的证书



验证证书的合法性和服务器的主机名和地区等信息进行验证

4 随机数,发送加密数据

通过客户端 服务器端的随机数进行pre master 防止 replay attack 中间人共计

这一步可以使用对称加密进行通信

MAC Secret = HMAC 指纹 ,基于based的消息验证,通过hash算法计算



