HTTP和HTTPS的区别有哪些,主要从以下几个方面来说:
1.安全性
HTTP和HTTPS是两种不同的协议,它们之间最主要的区别在于安全性。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,容易被攻击者截取信息。
HTTPS则在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输,保证了数据的安全性。
关于https的加密,可以看博主这篇文章:http://t.csdnimg.cn/gYNOr
2.端口号不同
HTTP是80、HTTPS是443。
3.证书
HTTPS需要申请证书,而HTTP不需要,申请证书也会有一些费用。
4.响应速度
HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
5.资源消耗
HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。具体的资源指的如下:
-
计算资源:
- 加密和解密:HTTPS使用SSL/TLS协议对数据进行加密和解密,这需要服务器进行额外的计算。服务器需要为每一个连接生成和验证密钥,加密和解密传输的数据。这些加密和解密操作需要CPU进行计算,因此会增加服务器的计算负担。
- 证书验证:HTTPS还需要验证服务器的SSL证书的有效性,这同样需要计算资源。
-
内存资源:
- 为了处理SSL/TLS连接,服务器需要维护额外的会话和连接状态信息,这会占用更多的内存空间。
-
网络带宽:
- 虽然HTTPS本身不直接增加传输的数据量,但由于加密和解密的过程,可能会略微增加一些额外的网络传输开销,例如握手过程中的额外数据包。
-
连接管理:
- HTTPS的连接管理通常比HTTP更复杂。例如,由于HTTPS连接是加密的,一些常见的连接复用和优化技术在HTTPS中可能不太适用或效率较低。
-
软件和硬件资源:
- 为了支持HTTPS,服务器可能需要安装和维护额外的软件,如SSL/TLS库和证书管理工具。在某些情况下,为了提高加密性能,可能还需要使用专门的硬件加速器。