HTTP和HTTPS的区别
HTTP是超文本传输协议,信息是明文传输。存在安全风险问题。HTTPS解决了HTTP的不安全缺陷,在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输
HTTP连接建立相对简单,TCP三次握手之后就可以进行HTTP的报文传输。但是HTTPS在TCP三次握手之后,还要进行SSL/TLS的握手过程,才可以进行加密报文传输
HTTP的端口号是80,HTTPS的端口号是443
HTTPS协议需要向CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。
HTTS的加密方式
HTTPS采用的是对称加密和非对称加密结合的混合加密方式
在通信建立之前采用非对称加密的方式交换“会话密钥”,后续不再使用非对称加密
在通信过程中全部使用对称加密的“会话密钥”来加密明文数据
采用混合加密的原因
称加密只只使用一个密钥,运算速度快,密钥必须保密,无法做到安全的密钥交换
非对称加密使用两个密钥:公钥和私钥,公钥可以任意分发但是私钥保密,解决了密钥交换问题,但是速度很慢