第 57 题(请描述 HTTPS 握手过程())

HTTP 通信的缺点

  • 通信使用明文,内容可能被窃听(重要密码泄露)
  • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
  • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)
HTTPS 握手过程
  1. 客户端发起 HTTPS 请求
    用户在浏览器里输入一个 https 网址,与服务器建立 ssl 连接
  2. 服务端响应
    服务器收到客户端请求后,确认加密通信协议版本是否一致,如果版本一致则返回服务器证书,否则关闭加密通信
  3. 客户端解析证书
    客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥
  4. 【第 57 题(请描述 HTTPS 握手过程())】客户端传输秘钥给服务端
    客户端利用公钥将秘钥加密, 并传输给服务端
  5. 服务端解密
    服务端利用自己的私钥解密出秘钥
  6. 完成加密过程
    之后服务器与客户端使用秘钥加密传输
原理图如下
第 57 题(请描述 HTTPS 握手过程())
文章图片

参考资料
我是这样理解 HTTP 和 HTTPS 区别的
文章的内容/灵感都从下方内容中借鉴
  • 【持续维护/更新 500+前端面试题/笔记】https://github.com/noxussj/In...
  • 【大数据可视化图表插件】https://www.npmjs.com/package...
  • 【利用 THREE.JS 实现 3D 城市建模(珠海市)】https://3d.noxussj.top/

    推荐阅读