超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种网络安全传输协议.安全
HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。服务器
都是基于tcp协议传输数据的.
可是http使用的是明文传输,https使用是SSL加密传输.
http使用端口80,https使用端口443.
粗暴的理解为http + ssl = https.网络
客户端发起HTTPS请求
客服端发起请求,而后链接到server的443端口。tcp
服务端的配置
采用HTTPS协议的服务器必需要有一套(ca)数字证书,能够本身制做,也能够向组织申请。可是证书须要客户端验证经过,才能够继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。若是对公钥和私钥不太理解,能够想象成一把钥匙和一个锁头,只是全世界只有你一我的有这把钥匙,你能够把锁头给别人,别人能够用这个锁把重要的东西锁起来,而后发给你,由于只有你一我的有这把钥匙,因此只有你才能看到被这把锁锁起来的东西。加密
传送证书
收到客户端请求后,证书发给客户端,这个证书其实就是公钥,只是包含了不少信息,如证书的颁发机构,过时时间等等。spa
客户端解析证书
首先会验证公钥是否有效,好比颁发机构,过时时间等等,若是发现异常,则会弹出一个警告框,提示证书存在问题。若是证书没有问题,就生成一个随即值。而后用证书对该随机值进行加密。3d
传送加密信息
公钥加密后的随机数发给服务端.server
服务段解密信息
服务端用私钥解密后,获得了客户端传过来的随机值(私钥),而后把内容经过该值进行对称加密。blog
传输加密后的信息
这部分信息是服务段用私钥加密后的信息,能够在客户端被还原网络安全
客户端解密信息客户端用以前生成的私钥解密服务端传内容。