HTTP面试题(三):HTTPS工作原理
HTTPS工作原理
浏览器向服务器发送HTTPS服务请求,在传输数据之前,进行一次握手
握手的目的:
- 确立双方加密传输的密码信息
- 做一次传输测试(利用随机生成的随机数)
TSL/SSL使用了非对称加密、对称加密、Hash算法
握手过程
- 浏览器请求https服务,并将自己的一套加密规则发送给网站
- 服务器从中选择一组加密算法,并将自己的身份信息以证书的形式回给浏览器
证书中包含:身份信息、公钥、证书颁发机构……
-
浏览器收到证书后:
- 验证证书合法性(颁发机构是否合法、网站地址正确与否……)
若证书受信,浏览器地址栏会出现一个锁头
- 证书受信后,浏览器随机生成一串随机数(用于测试),并使用证书中的公钥对随机数加密,将其发送给服务器
-
服务器利用自己的私钥进行解密,完成一次测试
HTTPS的特点
- HTTPS协议需要向CA申请证书,一般都需要付费
- HTTPS具有安全性的SSL安全套接层传输协议。HTTP则是明文传输
- HTTPS的连接要进行一次握手,可靠性更高。HTTP则是无状态连接