HTTP面试题(三):HTTPS工作原理

HTTPS工作原理

HTTP面试题(三):HTTPS工作原理

浏览器向服务器发送HTTPS服务请求,在传输数据之前,进行一次握手

握手的目的:

  • 确立双方加密传输的密码信息
  • 做一次传输测试(利用随机生成的随机数)

TSL/SSL使用了非对称加密、对称加密、Hash算法


握手过程

HTTP面试题(三):HTTPS工作原理

  1. 浏览器请求https服务,并将自己的一套加密规则发送给网站
  2. 服务器从中选择一组加密算法,并将自己的身份信息以证书的形式回给浏览器

证书中包含:身份信息、公钥、证书颁发机构……

  1. 浏览器收到证书后

    • 验证证书合法性(颁发机构是否合法、网站地址正确与否……)

    若证书受信,浏览器地址栏会出现一个锁头
    HTTP面试题(三):HTTPS工作原理

    1. 证书受信后,浏览器随机生成一串随机数(用于测试),并使用证书中的公钥对随机数加密,将其发送给服务器
  2. 服务器利用自己的私钥进行解密,完成一次测试


HTTPS的特点

  • HTTPS协议需要向CA申请证书,一般都需要付费
  • HTTPS具有安全性的SSL安全套接层传输协议。HTTP则是明文传输
  • HTTPS的连接要进行一次握手,可靠性更高。HTTP则是无状态连接