HTTP 和 HTTPS 学习

258 阅读2分钟

1. http 和 https 基本概念

  • http: 是超文本传输协议,主要用于www服务器传输超文本给浏览器的超文本传输协议
  • https: 是在http下进行了ssl加密的,主要是建立一个信息安全通道,来确保数据的传输和数据真实性

2. http 和 https 的区别

  1. https协议需要到ca申请证书,需要支付一定的费用
  2. http 是超文本传输协议,是明文传输. htpps是具有ssl层的加密协议更具有安全性
  3. http 和 https 使用的是完全不同的连接方式,前者是80,后者是443
  4. http 的连接是无状态的,https 的连接是http+ssl构建的可进行加密传输,身份认证的网络协议,更具有安全性

3. https的工作原理

客户端在使用https和web服务端通信

  1. 客户端使用http,url访问服务器,是要求web服务器建立 ssl 连接
  2. web服务器接收到客户端的请求后,则将网站的证书(证书中有公钥),传入给客户端
  3. web服务器和客户端开始协商 SSL 的链接等级,也就是加密等级
  4. 客户端浏览器通过双方协商出一致的安全等级,建立会话密钥,然后网站通过公钥来加密会话密钥,传给网站。
  5. web服务器通过自己的密钥解密出会话密钥
  6. web服务器通过自己的密钥加密与客户端的通信

4. TCP三次握手

  1. 客户端向服务端发送 SYN (同步序列编号) 包,这个时候客户端进入 SYN_SENT (同步已发送) 的状态
  2. 服务端收到客户端的 SYN 包,并确认 ACK (确认) + 1 ,同时自己也发送一个SYN + ACK 包, 进入到 SYN-RCVD (同步收到) 的状态
  3. 客户端收到服务端的 SYN+ACK 包,向服务器发送 ACK 包。之后,客户端和服务端进入ESTABLISHED(TCP连接成功) 状态,完成3次握手

tcp三次.jpeg