1. http 和 https 基本概念
- http: 是超文本传输协议,主要用于www服务器传输超文本给浏览器的超文本传输协议
- https: 是在http下进行了ssl加密的,主要是建立一个信息安全通道,来确保数据的传输和数据真实性
2. http 和 https 的区别
- https协议需要到ca申请证书,需要支付一定的费用
- http 是超文本传输协议,是明文传输. htpps是具有ssl层的加密协议更具有安全性
- http 和 https 使用的是完全不同的连接方式,前者是80,后者是443
- http 的连接是无状态的,https 的连接是http+ssl构建的可进行加密传输,身份认证的网络协议,更具有安全性
3. https的工作原理
客户端在使用https和web服务端通信
- 客户端使用http,url访问服务器,是要求web服务器建立 ssl 连接
- web服务器接收到客户端的请求后,则将网站的证书(证书中有公钥),传入给客户端
- web服务器和客户端开始协商 SSL 的链接等级,也就是加密等级
- 客户端浏览器通过双方协商出一致的安全等级,建立会话密钥,然后网站通过公钥来加密会话密钥,传给网站。
- web服务器通过自己的密钥解密出会话密钥
- web服务器通过自己的密钥加密与客户端的通信
4. TCP三次握手
- 客户端向服务端发送 SYN (同步序列编号) 包,这个时候客户端进入 SYN_SENT (同步已发送) 的状态
- 服务端收到客户端的 SYN 包,并确认 ACK (确认) + 1 ,同时自己也发送一个SYN + ACK 包, 进入到 SYN-RCVD (同步收到) 的状态
- 客户端收到服务端的 SYN+ACK 包,向服务器发送 ACK 包。之后,客户端和服务端进入ESTABLISHED(TCP连接成功) 状态,完成3次握手