《干货系列》_相关基础_HTTP

  1. HTTP/3

    1.1 简介
    互联网工程任务组正式将基于 QUIC 协议的 HTTP (HTTP over QUIC)重命名为 HTTP/3。
    QUIC(Quick UDP Internet Connections),基于UDP的传输协议,HTTP/2是基于TCP的传输协议。

    1.2 QUIC 简介
    QUIC整合了TCP、TLS、HTTP2的优点,加以优化。
    新功能:
    1.实现了类似TCP的流量控制,传输可靠性功能。
    【虽然UDP不提供可靠性的传输,但QUIC在UDP的基础之上增加了一层来保证数据可靠性传输。它提供了数据包重传、拥塞控制以及其他一些TCP中存在的特性。】
    2.实现快速握手功能。
    【HTTP2链接需要3RTT(链接往返延时),因为基于TCP的三次握手。由于QUIC是基于UDP的,所以QUIC可以实现使用0-RTT或者1-RTT来建立连接,这意味着QUIC可以用最快的速度来发送和接收数据,这样可以大大提升首次打开页面的速度。0RTT 建连可以说是 QUIC 相比 HTTP2 最大的性能优势。】
    HTTP2/HTTP3建立链接的差别
    3.集成了TLS(安全传输层协议)加密功能
    4.多路复用,彻底解决TCP中队头阻塞的问题
    【和TCP不同,QUIC实现了在同一物理连接上可以有多个独立的逻辑数据流(如下图)。实现了数据流的单独传输,就解决了TCP中队头阻塞的问题。】
    TCP对头阻塞示意图
    在这里插入图片描述
    5.连接迁移
    【TCP 连接基于四元组(源 IP、源端口、目的 IP、目的端口),切换网络时至少会有一个因素发生变化,导致连接发生变化。当连接发生变化时,如果还使用原来的 TCP 连接,则会导致连接失败,就得等原来的连接超时后重新建立连接,所以我们有时候发现切换到一个新网络时,即使新网络状况良好,但内容还是需要加载很久。如果实现得好,当检测到网络变化时立刻建立新的 TCP 连接,即使这样,建立新的连接还是需要几百毫秒的时间。

    QUIC 的连接不受四元组的影响,当这四个元素发生变化时,原连接依然维持。那这是怎么做到的呢?道理很简单,QUIC 连接不以四元组作为标识,而是使用一个 64 位的随机数,这个随机数被称为 Connection ID,即使 IP 或者端口发生变化,只要 Connection ID 没有变化,那么连接依然可以维持。】
    在这里插入图片描述
    1.3 总结
    1.HTTP/1.1有两个主要的缺点:安全不足和性能不高。
    2.HTTP/2完全兼容HTTP/1,是“更安全的HTTP、更快的HTTPS",头部压缩、多路复用等技术可以充分利用带宽,降低延迟,从而大幅度提高上网体验;
    3.QUIC 基于 UDP 实现,是 HTTP/3 中的底层支撑协议,该协议基于 UDP,又取了 TCP 中的精华,实现了即快又可靠的协议。

  2. HTTPS原理
    1.HTTPS实现原理
    HTTPS的整体过程分为证书校验个和数据传输阶段。
    证书校验阶段:【浏览器发起HTTP请求】-【浏览器返回HTTPS证书】-【客户端验证证书是否合法,不合法则发出警告提示】
    数据传输阶段:【证书校验为合法之后本地生成随机数】-【公钥加密随机数发送至服务器端】-【服务器通过私钥对随机数解密】-【通过解密的随机数,对传输内容进行加密,传送至客户端,客户端通过本地存储的随机数解密传输的内容】

    2.为什么数据传输是用对称加密
    首先,非对称加密的加解密效率是非常低的,而 http 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的;
    另外,在 HTTPS 的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以 HTTPS 中内容传输加密采取的是对称加密,而不是非对称加密。
    3.为什么需要 CA 认证机构颁发证书
    首先我们假设不存在认证机构,任何人都可以制作证书,这带来的安全风险便是经典的“中间人攻击”问题。HTTP 协议被认为不安全是因为传输过程容易被监听者勾线监听、伪造服务器,而 HTTPS 协议主要解决的便是网络传输的安全性问题。首先我们假设不存在认证机构,任何人都可以制作证书,这带来的安全风险便是经典的“中间人攻击”问题。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值