1,安全性:
http发送的是明文数据,所以不安全;而https使用对称加密和非对称加密算法对明文数据加密成为密文,然后发送密文,而且还利用摘要算法防止数据被截获和修改,还利用数字签名对数据包进行认证,防止伪造,所以https更安全。
2,连接状态和组成:
https=http+SSL(TLS),就是一般的TCP/IP协议栈是应用层,传输层,网络层,数据链路层。但是https是在应用层和传输层之间加上一层,就是传输层安全,这一层就是用来实现这一层就是用来实现之前说的三种安全算法的。
3,端口号:
http使用的是80端口,https使用443.
4,连接状态:
http是无状态,无连接的。
所谓无连接就是http建立连接之后,发送一个数据包,得到确认之后就断开连接了。
对于这个问题https中使用长链接头部字段connection来解决,connection的值是keep-alive就是表示长连接,如果是close就表示关闭长连接。
无状态就是http不会记录对端的状态,就比如我们利用http实现的淘宝买商品,如果我们买一次,服务端无状态的记录一次,那么我们买多次,就会被记录为多个人买。所以https利用cookie和session实现解决无状态的问题。
TLS握手过程
TLS握手过程
第一次:
三
第二次:
四
第三次:
三
三个记录放一个数据包发送。
第一个记录是一个随机数,第三个记录是客户端利用摘要算法计算出了摘要,用会话密钥加密的数据,需要服务端解密验证。
第四次:
二
TLS发送数据的单位:记录