Https与Http比较
HTTPS和HTTP的区别主要如下:
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协 议安全。
总结:
- SSL就是可以将你的HTTP请求和服务器返回的响应加密。
- 明文传输,通过抓包工具(httpWatch)被破解所以存在安全隐患
Https 请求/响应机制流程
1.客户端发起请求
2.客户端发送 验证包:Client.random随机数、session ID、密文族(告诉服务自己加密方式)、Server_name
3.服务器接收 验证包:sever.random随机码、session ID、服务器选择一个密文组
4.Certificate,服务器发送证书
数字证书:签发机构、过期时间、主体名称、公共密钥信息、指纹信息等待
5.服务器发送结束
6.客户端验证:
客户端从内置的CA根证书获取C.pub,对服务器发送来的数字证书进行验签
如果验证成功,会生成pre-master
7. 客户端根据之前的:Client.random + sever.random + pre-master生成对称密钥将对称秘钥发送给服务器端,最后使用对称秘钥进行通信