HTTP (超文本传输协议):是 用于从网络传输超文本到本地浏览器的传输协议。定义了客户端与服务器之间请求和响应的格式。HTTP是工作在Tcp/IP模型之上的,端口号是: 80。
HTTPS (超文本传输安全协议) :是通过计算机网络进行安全通信的传输协议。
由于HTTP 本身是不安全的,因为数据传输过程中没有经过加密,可能会被篡改,为了解决这个问题,于是引入了HTTPS,是在HTTP上加入了SSL/TLS协议,为数据传输提供了加密和身份验证。
HTTP与HTTPS虽然在名称上很相似,但是在安全性上有本质的区别 :HTTPS通过使用SSL/TLS协议,为数据的传输提供了加密性和完整的校验性,从而保护了用户的隐私和数据的安全。
主要区别如下 :
加密 :
HTTP : 数据传输过程中不加密,容易被截获和篡改
HTTPS : 使用了SSL/TLS 协议对数据的传输进行了加密,保护了数据传输过程中的安全性。
端口号 :
HTTP : 默认端口号是 80
HTTPS : 默认端口号是 443
安全性 :
HTTP : 不提供数据加密,安全性低
HTTPS : 提供完整的数据加密和校验,安全性高
证书 :
HTTP : 不需要证书
HTTPS : 需要SSL证书来启用加密,并验证服务器的身份
性能上 :
HTTP : 由于不加密数据,导致数据性能略高于HTTPS
HTTPS : 由于需要进行加密和解密,可能有一定的性能开销
搜索引擎优化(SEO)上 :
HTTP : 搜索引擎可能会对没有使用 HTTPS 的网站进行降权
HTTPS : 搜索引擎会倾向于优先索引和展示使用 HTTPS 的网站
浏览器显示上 :
HTTP : 在大多数现代浏览器中,HTTP 网站会通常显示”不安全“
HTTPS : 浏览器会显示一个锁形状态,表示网站是安全的
成本上 :
HTTP : 通常是免费的
HTTPS : 需要购买SSL证书,需要有一定的成本
应用场景上 :
HTTP : 适用于不需要传输敏感信息的网站,如: 新闻网站、博客等
HTTPS : 适用于需要传输敏感信息的网站,如: 网上银行、在线购物、电子邮件等。
HTTP状态码是服务器对客户端的请求的响应
HTTP有多个版本,目前被广泛使用的是 HTTP/1.1 和 HTTP/2 ,以及正在逐步推广的 HTTP/3。
HTTP/1.1 : 支持持久连接,允许多个请求或者是响应通过同一个TCP 进行传输,减少了建立和关闭连接的消耗。
HTTP/2 : 基于二进制分帧,支持多路复用,允许同时通过单一的HTTP/2 连接发起多重的、独立的、双向的交流。
HTTP/3 : 基于QUIC协议,主要是想要减少网络延迟,提高传输速度和安全性。