HTTPS 握手过程

HTTPS 握手过程

HTTP 通信的缺点

  • 通信使用明文,内容可能被窃听(重要密码泄露)
  • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
  • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)

HTTPS 握手过程

  1. 客户端发起 HTTPS 请求

用户在浏览器里输入一个 https 网址,与服务器建立 ssl 连接。

  1. 服务端响应

服务器收到客户端请求后,确认加密通信协议版本是否一致,如果版本一致则返回服务器证书,否则关闭加密通信。

  1. 客户端解析证书

客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥。

  1. 客户端传输秘钥给服务端

客户端利用公钥将秘钥加密, 并传输给服务端。

  1. 服务端解密

服务端利用自己的私钥解密出秘钥。

  1. 完成加密过程

之后服务器与客户端使用秘钥加密传输。

示例图

原文链接:菜园前端

相关推荐
ByteCraze2 分钟前
手写高性能虚拟列表(详解!!!)
javascript·学习
M ? A8 分钟前
Vue转React最佳工具对比:Vuera、Veaury与VuReact
前端·javascript·vue.js·经验分享·react.js
灰子学技术12 分钟前
Envoy 中 TCP 网络连接实现分析
运维·服务器·网络·网络协议·tcp/ip
We་ct13 分钟前
JS手撕:函数进阶 & 设计模式解析
开发语言·前端·javascript·设计模式·面试·前端框架
IpdataCloud17 分钟前
米哈游黑产案解析:游戏账号批量注册如何用IP查询识别外挂与多开用户?操作指南
网络协议·tcp/ip·游戏
悟空瞎说28 分钟前
前端老鸟实战:纯 CSS 实现小红书「真・瀑布流」,零 JS、自动错落、生产可用
前端
yuki_uix29 分钟前
当 reduce 遇到二维数据:从"聚合直觉"到"复合 Map"的思维跃迁
前端·javascript·面试
我叫黑大帅32 分钟前
Vue3中的computed 与 watch 的区别
前端·javascript·面试
暗不需求34 分钟前
# 一文搞懂 JavaScript 内存机制:从栈和堆,到闭包为什么“活得更久”
前端·javascript
CharlesY34 分钟前
JavaScript HTML5 Cache Manifest:离线应用缓存机制考古
前端·javascript