缺点:
由于HTTP本身不具备加密的功能,所以也无法做到对通信整体进行加密。也就是说TCP/IP的工作机制,通信内容在所有的通信线路上都可能遭到窥视,可以通过通信加密和内容加密解决。
通信加密
可以通过SSL(Secure Socket Layer,安全套接层)和TLS(Transport Layer Security,安全传输层协议)的组合使用,加密HTTP的通信内容。

内容加密
还有一种将参与通信的内容本身加密的方式。由于HTTP协议中没有加密机制,那么就对HTTP协议传输的内容本身加密。即把HTTP报文里所含的内容进行加密处理。
HTTP协议中的请求和响应不会对通信方进行确认,也就是说任何人都可以发起请求,可以通过查明对手的证书方式解决,使用SSL不仅提供加密处理,还使用证书用于确定对方。
HTTP协议无法证明通信的报文完整性。也就是说在请求或响应直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没有办法获悉,为了解决这些问题,可以使用SSL提供认证和加密处理及摘要功能,确保报文完整性。
对称加密:

非对称加密:



HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。
HTTPS采用共享密钥加密(对称加密)和公开密钥加密(非对称加密)的混合加密机制。
非对称加密仅限于密钥协商阶段,通信过程使用对称加密 。
通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。


HTTPS缺点:
通信慢:
与HTTP通信相比,网络负载可能会变慢2~100倍。除去TCP连接、发送HTTP请-响应以外,还必须进行SSL通信,因此会消耗更多的网络资源。
处理速度慢:
在服务器和客户端都需要进行加密和解密的运算处理,因此会消耗更多的服务器和客户端的硬件资源。