当前位置: 首页 > news >正文

HTTP相关知识点

文章目录

  • 1、HTTP和HTTPS的区别
    • 1.1 数据传输安全性
    • 1.2 SSL/TLS加密
    • 1.3 端口号
    • 1.4 性能
    • 1.5 SEO优势
    • 1.6 浏览器显示
    • 1.7 证书
    • 1.8 主要区别总结
    • 1.9 总结
  • 2、HTTPS是如何保证安全性的
    • 2.1 数据加密
    • 2.2 身份验证
    • 2.3 数据完整性
    • 2.4 TLS握手过程
    • 2.5 前向安全性
    • 2.6 HTTPS攻击防御机制
  • 3、对称加密和非对称加密
    • 3.1 对称加密
      • 3.1.1 工作原理
      • 3.1.2 特点
      • 3.1.3 常见的对称加密算法
      • 3.1.4 优点
      • 3.1.5 缺点
      • 3.1.6 使用场景
    • 3.2 非对称加密
      • 3.2.1 工作原理
      • 3.2.2 特点
      • 3.2.3 常见的非对称加密算法
      • 3.2.4 优点
      • 3.2.5 缺点
      • 3.2.6 使用场景
    • 3.3 对称加密与非对称加密的区别
      • 6.3.3 对称加密与非对称加密的区别
    • 3.4 结合使用(混合加密)
    • 3.5 总结

1、HTTP和HTTPS的区别

HTTP和HTTPS是用于在客户端和服务器之间传输数据的协议。它们的主要区别在于安全性。

1.1 数据传输安全性

  • HTTP:是一种明文传输协议,所有传输的数据都是未加密的。任何在传输路径上的中间人(如黑客、网络管理员)都可以轻易查看、截取甚至修改传输的数据,因此安全性较差。
  • HTTPS:在 HTTP 的基础上添加了 SSL/TLS 加密层。所有的数据在传输过程中会被加密,即使有人截取到数据,也很难解密,从而保护数据的机密性和完整性。它有效防止了数据被窃听、篡改或伪造。

1.2 SSL/TLS加密

  • HTTP:没有加密机制,数据明文传输
  • HTTPS:使用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)协议进行加密。当前,大部分 HTTPS 使用的是 TLS(较为新的加密协议,SSL 已逐渐被淘汰)。加密机制可以确保:
    • 加密:数据在客户端和服务器之间传输时不会被第三方读取。
    • 数据完整性:传输的数据不会在中途被篡改。
    • 身份验证:确保客户端与通信的服务器是真实可信的,通常通过数字证书验证。

1.3 端口号

  • HTTP:默认使用80端口进行通信
  • HTTPS:默认使用443端口进行加密通信

1.4 性能

  • HTTP:由于没有加密层,通信过程相对简单,速度更快,开销更小
  • HTTPS:加密和解密需要额外的计算资源,所以相比HTTP,HTTPS在连接建立时(如TLS握手)会稍微慢一点,但现代服务器和浏览器对性能做了优化,这种差异已经很小。同时,使用HTTP/2等技术也可以提升HTTPS的性能。

1.5 SEO优势

  • HTTP:搜索引擎(如 Google)对未使用 HTTPS 的网站在排名上可能会有所影响
  • HTTPS:搜索引擎通常会优先考虑安全的站点,因此使用 HTTPS 对网站的 SEO 排名有一定的好处

1.6 浏览器显示

  • HTTP:在现代浏览器中,未加密的 HTTP 网站通常会被标记为“不安全”,地址栏前会显示一个“不安全”的提示
  • HTTPS:使用 HTTPS 的网站在浏览器的地址栏上会显示锁形图标,表明该网站是安全的

1.7 证书

  • HTTP:不需要证书,直接提供服务
  • HTTPS:需要数字证书(SSL/TLS 证书),服务器需要经过证书颁发机构(CA)的验证,确保服务器身份的真实性

1.8 主要区别总结

特性HTTPHTTPS
安全性不安全,数据以明文传输安全,数据加密传输
默认端口80443
加密使用 SSL/TLS 加密
性能较快,但不安全略慢,但更安全
SEO 优势有助于提高排名
浏览器显示显示“不安全”标志显示锁形图标,表示安全
证书要求无需证书需要 SSL/TLS 证书

1.9 总结

  • HTTP:适用于不涉及敏感数据的场景,但由于安全性低,越来越多网站正在弃用HTTP
  • HTTPS:提供了更高的安全性,特别是对用户隐私、支付、登录等敏感数据传输场景至关重要

2、HTTPS是如何保证安全性的

HTTPS 通过多种机制保证数据传输的安全性,主要依赖于SSL/TLS协议来确保数据加密、身份验证和数据完整性。

2.1 数据加密

HTTPS 通过对称加密和非对称加密结合的方式,确保传输数据在网络中是加密的,防止第三方(如黑客)在传输过程中窃听或篡改数据

  • 对称加密:在数据传输过程中,客户端和服务器使用同一个密钥加密和解密数据。由于加密和解密的速度快,因此适合大规模数据的传输。然而,问题在于如何安全地共享这个对称密钥。
  • 非对称加密:通过公钥加密和私钥解密的方式,客户端和服务器可以安全地交换加密信息。非对称加密是 HTTPS 建立连接时用于传输对称密钥的方式,它确保对称密钥的传输是安全的。

2.2 身份验证

为了防止客户端与假冒的服务器通信,HTTPS 使用 数字证书 验证服务器的身份。这是通过 证书颁发机构(CA) 发放的 SSL/TLS 证书来实现的,保证客户端连接到的服务器确实是声称的服务器。

  • 数字证书:证书包含了服务器的公钥,以及由权威的证书颁发机构(CA)签名的信息。当客户端访问服务器时,会检查该证书是否由受信任的 CA 签发,并验证证书是否有效(包括过期时间、域名是否匹配等)
  • 证书链:数字证书是通过一系列信任链验证的。浏览器会信任那些由可信的根证书颁发机构签发的证书,这样就确保客户端与可信服务器之间的通信。

2.3 数据完整性

HTTPS 还使用 消息认证码(MAC)来保证传输的数据在网络中不会被篡改。数据在发送时,会生成一个哈希值并附带在数据包中。接收方在收到数据后,会使用相同的密钥重新生成哈希值,如果哈希值匹配,则说明数据未被篡改。

通过这种机制,HTTPS 确保了传输过程中数据的完整性,防止数据被中途修改。

2.4 TLS握手过程

通过下述步骤,HTTPS 建立了一个安全的加密通信通道,防止数据被窃取或篡改。

  • 客户端问候(Client Hello):客户端发送请求给服务器,包含支持的加密算法和一个随机数。
  • 服务器响应(Server Hello):服务器选择一个加密算法,返回自己的数字证书,并发送一个随机数。
  • 客户端验证证书:客户端检查服务器的数字证书是否合法,是否由可信的 CA 颁发。如果验证通过,客户端生成一个新的随机数,用服务器的公钥加密后发送给服务器。
  • 生成对称密钥:服务器使用私钥解密客户端发送的随机数,至此,客户端和服务器都拥有了三个随机数。客户端和服务器使用这三个随机数生成一个对称加密密钥。
  • 开始加密通信:客户端和服务器使用生成的对称密钥,通过对称加密开始安全通信。

2.5 前向安全性

为进一步提升安全性,HTTPS 支持前向安全性,即每次通信使用不同的加密密钥。即使某个密钥在未来被破解,也不会影响以前的通信记录,因为每次通信都会生成新的会话密钥。

前向安全性通常通过 Diffie-Hellman 密钥交换 或 椭圆曲线 Diffie-Hellman(ECDHE) 协议实现。这种机制确保即便将来的密钥被泄露,过去的通信数据仍然无法解密。

2.6 HTTPS攻击防御机制

虽然 HTTPS 提供了强大的安全性,但仍然存在一些攻击手段,比如:

  • 中间人攻击(MITM, Man-in-the-Middle Attack):攻击者假冒服务器,拦截并修改通信数据。通过正确的证书验证和公钥加密,HTTPS 可以有效防御中间人攻击。
  • 降级攻击:攻击者试图将 HTTPS 连接降级为不安全的 HTTP。现代浏览器通过 HSTS(HTTP Strict Transport Security) 强制使用 HTTPS 连接,防止降级攻击。

3、对称加密和非对称加密

3.1 对称加密

最基础的加密方式,加密和解密使用相同的密钥

3.1.1 工作原理

  • 加密过程:发送方使用一个密钥将明文数据加密为秘文
  • 解密过程:接收方使用相同的密钥将秘文解密为明文

3.1.2 特点

  • 密钥唯一性:加密和解密都使用同一个密钥。
  • 加密速度快:对称加密算法相对简单,计算效率高,适合大规模数据加密。
  • 密钥管理困难:密钥的安全分发是对称加密的最大难题。双方在开始通信之前需要通过安全的渠道交换密钥,如果密钥被泄露,通信安全性就会受到威胁。

3.1.3 常见的对称加密算法

  • AES(Advanced Encryption Standard):高级加密标准,广泛用于各种加密场景。
  • DES(Data Encryption Standard):曾经被广泛使用,但现在已经由于密钥长度太短(56位)而被认为不安全。
  • 3DES(Triple DES):对 DES 的改进版本,通过三次加密提高了安全性。
  • Blowfish:一种速度快且灵活的加密算法,适用于多种加密应用场景。

3.1.4 优点

  • 速度快:对称加密算法比非对称加密快很多,特别适合处理大量数据。

3.1.5 缺点

  • 密钥分发问题:由于加密和解密使用相同的密钥,如何安全地传输密钥是一个难题。
  • 安全性受限于密钥:如果密钥被窃取,攻击者可以轻松解密所有的通信内容。

3.1.6 使用场景

  • 适合本地文件加密、数据库加密,或在已建立安全密钥的通信双方之间使用(如 HTTPS 中的对称加密阶段)

3.2 非对称加密

非对称加密特点是加密和解密使用不同的密钥,即公钥和私钥

3.2.1 工作原理

  • 加密过程:发送方使用接收方的 公钥 对数据进行加密,公钥是公开的,任何人都可以获取。
  • 解密过程:接收方使用自己的 私钥 解密数据,私钥是保密的,只有接收方持有。

3.2.2 特点

  • 公钥和私钥成对出现:公钥用于加密,私钥用于解密。
  • 公钥公开,私钥保密:公钥可以自由分发,私钥必须由持有者妥善保管。
  • 加密速度较慢:非对称加密算法相对复杂,计算效率较低,因此通常只用于加密少量的数据(如密钥交换),而不是大规模数据加密。

3.2.3 常见的非对称加密算法

  • RSA(Rivest–Shamir–Adleman):最常用的非对称加密算法,基于大整数分解的数学难题。
  • ECC(Elliptic Curve Cryptography):椭圆曲线加密算法,相比 RSA 提供更高的安全性和更短的密钥长度。
  • DSA(Digital Signature Algorithm):主要用于数字签名的非对称加密算法。

3.2.4 优点

  • 无需共享私钥:发送方只需知道接收方的公钥即可加密数据,而接收方使用私钥解密,避免了密钥分发问题。
  • 身份验证:非对称加密还可用于数字签名,保证消息的来源和完整性。

3.2.5 缺点

  • 速度慢:非对称加密的加解密过程比对称加密慢得多,不适合加密大量数据。
  • 复杂性较高:算法复杂度较高,硬件开销大。

3.2.6 使用场景

  • 密钥交换:通常用于在不安全的信道中安全地交换对称加密的密钥(如 HTTPS 中的 TLS 握手过程)。
  • 数字签名:用于验证消息的来源和完整性,确保数据在传输过程中未被篡改。

3.3 对称加密与非对称加密的区别

6.3.3 对称加密与非对称加密的区别

特性对称加密非对称加密
密钥相同的密钥用于加密和解密公钥加密,私钥解密
密钥分发需要安全的密钥分发渠道不需要安全分发私钥,公钥可公开
速度加密速度快加密速度慢
安全性安全性取决于密钥的安全性安全性较高,私钥保密即可
计算复杂性算法简单,效率高算法复杂,计算开销大
典型用途数据加密、大规模数据传输密钥交换、数字签名、小量数据加密

3.4 结合使用(混合加密)

在实际应用中,对称加密和非对称加密常常结合使用,以利用各自的优势。这种方式被称为 混合加密,主要用于网络通信协议中,如 HTTPS。

  • 非对称加密传输对称密钥:客户端使用服务器的公钥生成一个对称密钥,并将其发送给服务器。
  • 对称加密加速数据传输:服务器接收到密钥后,使用自己的私钥解密,获取对称密钥。随后,客户端和服务器使用该对称密钥加密和解密大规模数据传输。

通过这种方式,系统在确保密钥传输安全的同时,也能利用对称加密的高效性处理大规模数据。

3.5 总结

  • 对称加密:加密和解密使用同一个密钥,速度快但密钥分发存在挑战。
  • 非对称加密:加密和解密使用不同的密钥,安全性更高,但效率较低。
  • 混合加密:结合两者的优势,非对称加密用于安全传输对称密钥,随后使用对称加密处理大规模数据。
http://www.dtcms.com/a/504153.html

相关文章:

  • Redis 未授权访问漏洞全解析:从原理到突破
  • 龙华做网站公司快速排名程序
  • 用eclipse做网站开发代做网站推广的公司
  • 企业级RAG落地思考
  • 验证用户登录的两种方式
  • 笔试-精准核酸检测
  • 知识就是力量——制作一个红外计数器
  • 做网站如何大众汽车网站建设
  • 【Linux笔记】网络部分——应用层自定义协议与序列化
  • 上海招聘网站排名米方科技网站建设
  • 佛山网站建设企业推荐房地产交易网站模版
  • 江苏和住房建设厅网站深圳网站关键词
  • Qt--命名,快捷键及坐标系
  • 容器:软件世界的标准集装箱
  • 音乐网站系统源码百度引擎搜索引擎入口
  • 门户网站如何制作想学习做网站
  • 建设项目安监备案网站深圳公司贷款
  • 企业网站关键词应如何优化网站建设公司swot分析
  • 09_AI智能体开发环境搭建之Redis安装配置完整指南
  • Oracle RMAN三种不完全恢复实战详解:归档序号、时间点与SCN恢复对比
  • 公司网站托管网站做5级分销合法吗
  • 记事本做网站如何添加图片开发公司空置房物管费归口什么费用
  • 新网站建设渠道打开网页链接
  • Python 爬虫常用库:requests 与 BeautifulSoup 详解
  • 什么是MySQL JOIN查询的驱动表和被驱动表?
  • 网站推广服务费计入什么科目自适应网站开发文字大小如何处理
  • minio 数据库迁移
  • 佛山网站设计实力乐云seo规划电子商务网站建设方案
  • 大文件分片上传:简单案例(前端切割与后端合并)
  • 门户网站是网络表达吗山东国舜建设集团网站