关于安全:一文搞懂│http-和-https-的通信过程及区别

35次阅读

共计 714 个字符,预计需要花费 2 分钟才能阅读完成。

一、两者的区别

  • 端口: http 端口号是 80, https 端口号是 443
  • 传输协定: http 是超文本传输协定,属于明文传输; https 是平安的超文本传输协定,是通过 SSL 加密后的传输协定
  • 安全性: https 应用了 TLS/SSL 加密,比 http 更加的平安
  • 证书: https 须要申请 ca 证书

二、HTTP 的通信过程

  • 了解: 作为规范的 C/S 模型, http 协定总是由客户端发动,服务端进行响应。
  • DNS 解析,域名零碎 DNS 将域名解析成 IP 地址
  • 建设 TCP 连贯,进行 TCP 的三次握手
  • 客户端发送申请
  • 服务端响应客户端,向客户端发送数据
  • 通信实现,TCP 连贯敞开

三、HTTPS 的通信过程

  • 了解: https 通信是建设在 ssl 连贯层之上的申请和响应,客户端将加密组件发送到服务端,服务端进行匹配后将数字证书等信息发送到客户端,客户端进行证书验证,验证通过后应用非对称加密对数据的密钥进行协商,协商后失去对称的加密密钥,而后应用对称算法进行 TCP 链接,而后与客户端进行三次握手后,进行数据传输,传输实现后,四次挥手,断开链接,通信完结。
  • 客户端和服务端通过 TCP 建设连贯,并发送 https 申请。
  • 服务端响应申请,并将数字证书发送给客户端,数字证书包含 公共秘钥、域名、申请证书的公司
  • 客户端收到服务端的数字证书之后,会验证数字证书的合法性。
  • 如果公钥合格,那么客户端会生成 client key,一个用于进行对称加密的密钥,并用服务端的公钥对客户端密钥进行非对称加密。
  • 客户端会再次发动申请,将加密之后的客户端密钥发送给服务端。
  • 服务端接管密文后,会用私钥对其进行非对称解密,失去客户端秘钥。并应用客户端秘钥进行对称加密,生成密文并发送。
  • 客户端收到密文,并应用客户端秘钥进行解密,获取数据。

正文完
 0