https 有几次握手和挥手?https 的原理是什么+TCP 连接的三次握手

1,034 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第31天
点击查看活动详情
一、https 有几次握手和挥手?https 的原理是什么
https 是 3 次握手和 4 次挥手,和 http 是一样的。
原理:https 在传输数据前需要客户端(浏览器)与服务器(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息.TLS/SSL 协议是一套加密传输协议,使用了非对称加密,对称加密,以及 HASH 算法。
https 之所以安全:因为网络请求需要中间有很多的服务器路由器的转发。中间的节点都可能篡改信息,而如果使用 HTTPS,密钥在你和终点站才有。https 之所以比 http 安全,是因为他利用 ssl/tls 协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等。保障了传输过程的安全性

二、什么是 TCP 连接的三次握手
连接建立:
TCP 是因特网中的传输层协议,使用三次握手协议建立连接,完成三次握手,客户端与服务器开始传送数据。 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;
第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP 连接成功)状态,完成三次握手。

TCP 协议的优缺点:
优点:TCP 发送的包有序号,对方收到包后要给一个反馈,如果超过一定时间还没收到反馈就自动执行超时重发,因此 TCP 最大的优点是可靠。
缺点:很简单,就是麻烦,如果数据量比较小的话建立连接的过程反而占了大头,不断地重发也会造成网络延迟,因此比如视频聊天通常就使用 UDP,因为丢失一些包也没关系,速度流畅才是重要的。