http请求是不安全的请求的端口是80,https请求是安全的请求的端口是443 但是请求安全也不是绝对的。
要想先了解https就的先说几个概念
1、证书
2、加密算法 openssl TLS/SSL
3、协议x509协议
http传输数据都是明文,在数据传输的过程会经过很长的链路,比如说 光猫 路由器等等,而这些设备其实都可以进行窃取的,获取到网络传输的数据。所以数据就可以被篡改,是不安全的。
https是对数据进行加密处理的,使用的是对称加密和非对称加密算法,openssl只是加密算法的一种实现。对称加密加密秘钥和解密秘钥是一样的,这样很容易被破解,非对称加密是公钥加密私钥解密,私钥加密公钥解密,公钥和公钥 ,私钥和私钥不能进行解密。
https为了安全性得到保证,会有第三方机构给办法证书,但是这个证书需要安装在服务器上,服务的提供方,证书里面包含 域名、公钥、机构名称等,而第三方机构的证书是内嵌到操作系统里的,在操作系统里能查询到这些机构。
第三方机构在颁发证书的时候会对证书进行私钥加密,而证书按照到服务器上,当https请求过来时进行了四次握手,前三次握手属于TCP的三次握手,四次握手之后会把证书传递给浏览器。
浏览器会用公钥进行解密,获得到证书里面的公钥,浏览器对数据使用公钥进行加密。传递给服务器,服务器利用算法私钥进行解密。这里就需要浏览器和服务器端遵守规则加密和解密的算法是一致的,这里面要遵守的就是x509协议。