http 与 https 的区别?https 是如何工作的?
http 是超文本传输协议,而 https 可以简单理解为安全的 http 协议。https 通过在 http 协议下添加了一层 ssl 协议对数据进行加密从而保证了安全。https 的作用主要有两点:建立安全的信息传输通道,保证数据传输安全;确认网站的真实性。
http 与 https 的区别主要如下:https 需要到 CA 申请证书,很少免费,因而需要一定的费用http 是明文传输,安全性低;而 https 在 http 的基础上通过 ssl 加密,安全性高二者的默认端口不一样,http 使用的默认端口是80;https使用的默认端口是 443
https 的工作流程:
提到 https 的话首先要说到加密算法,加密算法分为两类:对称加密和非对称加密。
对称加密: 加密和解密用的都是相同的秘钥,优点是速度快,缺点是安全性低。常见的对称加密算法有 DES、AES 等等。
非对称加密: 非对称加密有一个秘钥对,分为公钥和私钥。一般来说,私钥自己持有,公钥可以公开给对方,优点是安全性比对称加密高,缺点是数据传输效率比对称加密低。采用公钥加密的信息只有对应的私钥可以解密。常见的非对称加密包括RSA等。
在正式的使用场景中一般都是对称加密和非对称加密结合使用,使用非对称加密完成秘钥的传递,然后使用对称秘钥进行数据加密和解密。二者结合既保证了安全性,又提高了数据传输效率。
TCP与UDP
TCP(Transmission Control Protocol ,传输控制协议)与UDP(User Datagram Protocol ,用户数据报协议)是传输层中的两种协议,我们平时刷视频、打游戏、看新闻等都要通过这两种协议进行数据传输。
那么这两种协议有什么区别呢?
TCP的三次握手
在传输数据前,两台主机需要通过三次会话建立连接,这个过程我们称为三次握手。
1、第一次握手:客户端向服务端请求建立连接。
2、第二次握手:服务端向客户端返回确认并请求建立连接。
3、第三次握手:客户端向服务端发送确认报文。
TCP的四次挥手
1、第一次挥手:客户端向服务端请求断开连接。
2、第二次挥手:服务端向客户端返回确认报文。
3、第三次挥手:服务端完成数据传输后,向客户端发送断开连接请求。
4、第四次挥手:客户端向服务端返回确认报文。
https://juejin.cn/post/6844904136937324552
https://mp.weixin.qq.com/s/mt2zah7GgR0aq4tL-KYyhw
中间人攻击
https://juejin.cn/post/6880024440143347719