TCP/IP

分层模型

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算法计算

相关推荐
卷卷的小趴菜学编程1 分钟前
Linux网络之----序列化和反序列化
网络·序列化·反序列化·守护进程·jsoncpp·进程组·前后台进程
DARLING Zero two♡15 分钟前
【Linux操作系统】简学深悟启示录:进程间通信
linux·运维·服务器
滑水滑成滑头41 分钟前
**发散创新:多智能体系统的探索与实践**随着人工智能技术的飞速发展,多智能体系统作为当今研究的热点领域,正受到越来越多关注
java·网络·人工智能·python
迎風吹頭髮1 小时前
Linux服务器编程实践55-网络信息API:gethostbyname与gethostbyaddr实现主机名解析
网络
风语者日志2 小时前
CTFSHOW—WEB4
网络·安全·web安全·网络安全·ctf
拾光Ծ2 小时前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器
歪歪1002 小时前
React Native开发有哪些优势和劣势?
服务器·前端·javascript·react native·react.js·前端框架
To_再飞行2 小时前
Linux Bash(一)
linux·运维·服务器·bash
孤廖3 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
朝新_3 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee