HTTP + 加密 + 认证 + 完整性保护 = HTTPS。HTTP加上加密处理和认证以及完整性保护后即是HTTPS。
一道题:HTTP和HTTPS的区别? 答:
HTTP协议运行TCP之上,所有传输的内容都是明文的;HTTPS运行SSL/TLS之上,SSL/TLS运行TCP之上,所有传输的内容都经过加密的。HTTP默认端口为80,HTTPS默认端口为443。HTTPS是身披SSL外壳的HTTP,看一个图吧(╹▽╹)
注: 内容加密的缺点:1. 客户端和服务端需同时具备加密和解密机制;2. 内容仍有被篡改的风险。
① 客户端向服务器发起请求,请求中包含客户端支持的SSL版本、加密组件列表(加密方法(算法))
② 服务器端接收到请求后发送ServerHello报文,报文中包含SSL版本、确认双方使用的加密方法(算法) ③ 发送Certificate报文,包含公开密钥证书(公开密钥 + 数字签名) ④ SSL握手协商部分结束
⑤ 客户端确认服务器证书有效后。发送回应报文,生成共享密钥【随机密码串(Pre-master secret)】,用步骤③得到的公钥进行加密发送到服务端 ⑥ 发送报文,提示服务器,之后通信采用共享密钥加密【Pre-master secret密钥加密】 ⑦ SSL握手协商部分结束,这次握手是否成功,以服务器能否正确解密为准
⑧ 服务端使用私密解密,并使用共享密钥加密数据,发送到客户端 ⑨ 客户端使用共享密钥解密数据
⑩ SSL加密建立完成
对着上述步骤看一个图吧(〃‘▽’〃)
《图解HTTP》