>[danger]Https和Http的区别,TLS握手做了什么? HTTP(超文本传输协议)和 HTTPS(安全超文本传输协议)都是用于在客户端和服务器之间传输数据的协议。它们之间的主要区别在于安全性和传输方式。 HTTP协议使用明文传输数据,即发送的数据不经过加密和保护,容易被窃听和篡改。而HTTPS协议则使用TLS/SSL协议进行了加密处理,保证传输的安全性,可以防止数据被篡改、窃取和伪造等恶意行为,因此更加安全可靠。 当客户端与服务器之间进行HTTPS通信时,会首先进行TLS握手,这个过程涉及到的步骤主要有以下几个: 1. 客户端向服务器发送 `Client Hello`, 其中包含支持的TLS版本、加密算法等信息; 2. 服务器收到 `Client Hello` 后,发送 `Server Hello`,其中包含选择的TLS版本、加密算法、证书等信息; 3. 客户端验证服务器证书的有效性,并生成一个随机数,使用公钥加密后发送给服务器; 4. 服务器使用私钥解密收到的消息,获得客户端发送的随机数,并生成另一个随机数作为加密密钥; 5. 服务器将加密密钥使用公钥加密后发送给客户端; 6. 双方使用所选择的加密算法和密钥进行加密通信。 通过TLS握手过程,双方可以建立安全的通信渠道,并使用加密算法保证数据的传输安全性。 总之,HTTP和HTTPS之间的主要区别在于传输方式和安全性。而TLS握手是HTTPS协议建立安全通信渠道的关键步骤,保证了HTTPS的安全性。