http/https

124 阅读1分钟

http的缺点:

  1. 通信使用明文(不加密),内容可能会被监听。
  2. 不验证通信方的身份,因此有可能遭遇伪装。
  3. 无法验证报文的完整性,所以有可能已经遭到篡改。(无法确认客户端下载的文件和服务器上存放的文件是否是前后一致的。)

https

在http中可能存在信息窃听或者身份伪装等安全问题,使用HTTPS可以有效的解决这些问题。

HTTP + SSL = HTTPS : HTTP直接和TCP通信,当使用SSL的时候,则演变成先和SSL通信,再由SSL和TCP通信了。

HTTP+加密+认证保护+完整性保护=HTTPS

  1. 由于http本身不具有加密功能,所以无法做到对通信整体(使用http协议通信的请求和响应的内容)进行加密。http没有加密功能,可以和ssl(Secure Socket Layer 安全套接层)组合使用,对通道进行加密。与ssl组合使用的http被称为https(http secure,超文本传输安全协议)。
  2. 使用http协议无法确认通信方,但是如果使用ssl则可以。SSL不仅提供加密处理,还使用了一种被称为证书的手段,可以用于确认通信方。证书是由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。
  3. SSL还可以对传输的数据进行完整性保护。

HTTPS的加密原理

使用了SSL,HTTPS采用共享密钥加密和公开密钥加密两者并用的混合加密机制。(这里应该是存在问题的。)