学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什么优点,又有什么缺点?为什么网站有的用http,有的用https?如果不能很好的回答,就往下看吧。
后续内容的需要,这里插播一段共享密钥加密和公开密钥加密
共享密钥加密 共享密钥的加密密钥和解密密钥是相同的,所以又称为对称密钥 公开密钥加密 加密算法是公开的,密钥是保密的。公开密钥分为私有密钥和公有密钥,公有密钥是公开的,任何人(客户端)都可以获取,客户端使用公有密钥加密数据,服务端用私有密钥解密数据。 异同 共享密钥加密与公开密钥加密相比,加解密处理速度快,但公开密钥更适应互联网下使用https很好的解决了http的三个缺点(被监听、被篡改、被伪装),https不是一种新的协议,它是http+SSL(TLS)的结合体,SSL是一种独立协议,所以其它协议比如smtp等也可以跟ssl结合。https改变了通信方式,它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式
防监听 数据是加密的,所以监听得到的数据是密文,hacker看不懂。 防伪装 伪装分为客户端伪装和服务器伪装,通信双方携带证书,证书相当于身份证,有证书就认为合法,没有证书就认为非法,证书由第三方颁布,很难伪造 防篡改 https对数据做了摘要,篡改数据会被感知到。hacker即使从中改了数据也白搭。客户端发送请求到服务器端服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端客户端使用共享密钥解密数据SSL加密建立………
以上内容,来自个人对《图解HTTP》一书中https通信部分的理解,加上知乎牛人解答的理解,汇总而成
转自:http://blog.csdn.net/wangjun5159/article/details/51510594
