Https 和 http

HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在Web浏览器和服务器之间传输数据的两种协议。

1. 安全性

  • HTTP

    • 不加密数据传输。(包括cookie)
    • 数据以明文形式发送,容易被窃听和篡改。
    • 对于敏感信息(如登录凭证、个人信息等)的传输极不安全。
  • HTTPS

    • 使用SSL/TLS协议对数据进行加密。(包括cookie)(设置了Secure属性的Cookie只能通过https传输)
    • 数据在传输过程中被加密,即使被截获也难以解读。
    • 提供数据完整性,确保数据在传输过程中未被篡改。
      具体加密细节
    • 攻击者无法解密。虽然黑客可以截获加密的数据包,但无法解密这些数据包内容,因为解密需要服务器端和客户端之间协商的会话密钥。在HTTPS连接建立时,客户端和服务器通过SSL/TLS握手过程来生成一个会话密钥。这一密钥是唯一的、临时的,且仅在当前会话中有效。即使黑客截获了加密的数据包,没有会话密钥,他们也无法解密数据。
    • 防止数据篡改。HTTPS不仅对数据进行加密,还包括完整性校验。即使黑客截获并尝试篡改数据包,由于数据包包含的完整性校验值会在服务器端进行验证,如果数据包被篡改,校验会失败,服务器会丢弃该数据包。
    • 防止重放攻击。HTTPS协议通过使用随机数和会话ID等机制,防止重放攻击。每次请求都会包含一些独特的元素,确保相同的数据包不会被多次使用。
    • 防止中间人攻击。HTTPS有效防止了中间人攻击。在MITM攻击中,攻击者试图在客户端和服务器之间插入自己,但由于HTTPS的加密和证书验证机制,客户端会检查服务器的SSL证书。如果证书不被信任或不匹配,浏览器会向用户发出警告,防止用户继续访问。

2. 端口

  • HTTP

    • 默认使用端口80。
  • HTTPS

    • 默认使用端口443。

3. 证书

  • HTTP

    • 不需要SSL证书。
  • HTTPS

    • 需要SSL/TLS证书。
    • 证书由可信的证书颁发机构(CA)签发,验证网站的身份。

4. 性能

  • HTTP

    • 不涉及加密和解密,传输速度略快。
    • 较少的处理开销。
  • HTTPS

    • 加密和解密过程增加了一些处理时间和计算资源开销。
    • 现代硬件和优化后的协议使得性能差异缩小。

5. SEO和用户信任

  • HTTP

    • 对于用户来说,不安全的连接会降低信任。
    • 搜索引擎(如Google)可能对使用HTTP的网站给予较低的排名。
  • HTTPS

    • 增加用户信任,浏览器会显示绿色锁定图标或其他安全标志。
    • 搜索引擎更倾向于提高HTTPS网站的排名,因其安全性更高。

6. 数据完整性

  • HTTP

    • 数据在传输过程中容易被篡改,无法保证数据完整性。
  • HTTPS

    • 提供数据完整性保障,确保数据在传输过程中未被篡改或损坏。

7. 使用场景

  • HTTP

    • 适用于不涉及敏感信息的数据传输。
    • 一些简单的、无关紧要的Web内容展示。
  • HTTPS

    • 适用于需要保护隐私和敏感信息的场景,如在线购物、银行业务、登录页面等。
    • 对于任何要求数据保密和完整性的网站都是推荐的选择。

8. 浏览器支持和现代标准

  • HTTP

    • 所有浏览器都支持,但现代浏览器会警告用户HTTP连接不安全。
  • HTTPS

    • 得到所有现代浏览器的支持,且浏览器会对不使用HTTPS的站点提出警告。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容