美文网首页网络协议学习
十六.网络协议学习笔记 SPDY_QUIC_HTTP2_HTTP

十六.网络协议学习笔记 SPDY_QUIC_HTTP2_HTTP

作者: crazyfox | 来源:发表于2021-08-15 11:30 被阅读0次

HTTP协议的不足(HTTP,HTTPS)

同一时间,一个连接只能对应一个请求

只允许客户端主动发起请求

同一个会话多次请求中,头信息会重复传输

SPDY

SPDY基于TCP的应用层协议,强制要求使用SSL/TLS

image.jpeg

HTTP/2

  • 复用流:SPDY允许在一个连接上无限制并发流。因为请求在一个通道上,TCP效率更高:更少的网络连接,发出更少更密集的数据包。
  • 请求优先级:虽然无限的并发流解决了序列化的问题,但他们引入了另一个问题:如果带宽通道受限制, 客户端可能会因防止堵塞通道而阻止请求。为了克服这个问题,SPDY实行请求优先级:客户端从服务器端请求它希望的项目数量,并为每个请求分配一个优先级。这可以防止在网络通道被非关键资源堵塞时,高优先级的请求被挂起。
  • HTTP报头压缩:SPDY压缩请求和响应HTTP报头,从而减少传输的数据包数量和字节数。

HTTP2特性-二进制格式

  • HTTP报头压缩:SPDY压缩请求和响应HTTP报头,从而减少传输的数据包数量和字节数。HTTP/2采用二进制格式传输数据,而非HTTP/1.1的文本格式
  • 二进制格式在协议的解析和优化扩展上带来更多的优势和可能
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息

所有通信都在一个TCP连接上完成,此连接可以承载任意数量的双向数据流

  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息消息:与逻辑HTTP请求或响应消息对应,由一系列帧组成
  • 帧:HTTP/2通信的最小单位,每个帧都包含帧头(会标识出当前帧所属的数据流)

来自不同数据流的帧可以交错发送,然后再根据每个帧头的数据流标识符重新组装

HTTP2特性-多路复用

  • HTTP/2 标准允许每个数据流都有一个关联的权重和依赖关系
  • 可以向每个数据流分配一个介于1至256之间的整数
  • 每个数据流与其他数据流之间可以存在显式依赖关系
  • 客户端可以构建和传递“优先级树”,表明它倾向于如何接收响应
  • 服务器可以使用此信息通过控制CPU、内存和其他资源的分配设定数据流处理的优先级
  • 在资源数据可用之后,确保将高优先级响应以最优方式传输至客户端
  • image sprites 将多张小图合并为一张大图

HTTP2特性-优先级

  • HTTP/2 标准允许每个数据流都有一个关联的权重和依赖关系

  • 可以向每个数据流分配一个介于1至256之间的整数

  • 每个数据流与其他数据流之间可以存在显式依赖关系

  • 客户端可以构建和传递“优先级树”,表明它倾向于如何接收响应

  • 服务器可以使用此信息通过控制CPU、内存和其他资源的分配设定数据流处理的优先级

在资源数据可用之后,确保将高优先级响应以最优方式传输至客户端

  • 应尽可能先给父数据流分配资源
  • 同级数据流(共享相同父项)应按其权重比例分配资源

HTTP2特性-头部压缩

  • HTTP/2使用HPACK压缩请求头和响应头
  • 可以极大减少头部开销,进而提高性能
  • 早期版本的HTTP/2和SPDY使用 zlib压缩
  • 可以将所传输头数据的大小减小85%~88%
  • 但在2012年夏天,被攻击导致会话劫持后被更安全的HPACK取代

HTTP2特性-服务器推送

  • 服务器可以对一个客户端请求发送多个响应
  • 除了对最初请求的响应外,服务器还可以向客户端推送额外资源,而无需客户端额外明确地请求

HTTP2问题-队头阻塞

HTTP2问题-握手延迟

HTTP3

https://www.jianshu.com/p/dd9719c4c2c1

image.jpeg

相关文章

  • 十六.网络协议学习笔记 SPDY_QUIC_HTTP2_HTTP

    HTTP协议的不足(HTTP,HTTPS) 同一时间,一个连接只能对应一个请求 只允许客户端主动发起请求 同一个会...

  • (软考网络工程师)06网络互联与互联网

    本系列为个人学习笔记,如需转载请注明出处 --aport 考点 01 网络协议神图网络协议神图 02 常用网络互联...

  • 网络协议学习笔记

    定义 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议主要由三个要素组成:语义、语法及时...

  • 网络协议学习笔记

    一、基本概念 1.1 什么是网络协议? 互联网上端对端实现互联过程中,必须有各种各样的协议规定传输的方式,其中最常...

  • 通信协议综述

    本篇作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 1、常用的网络协议...

  • 趣谈网络协议之通信过程

    刘超《趣谈网络协议》第一讲|为什么要学习网络协议的学习笔记 计算机语言作为程序员控制一台计算机工作的协议,具备了协...

  • 网络协议学习笔记2

    带着4个问题学习: 1.TCP在进行三次握手的时候,IP层和MAC层对应都有什么操作呢? 2.学习第三层的时候会提...

  • 学习笔记:网络协议之IP协议

    本文仅供学习交流使用,侵权必删。不作商业用途,转载请注明出处 IP地址,又称网际协议地址,由32位组成。IP地址是...

  • 学习笔记:网络协议之ARP协议

    本文仅供学习交流使用,侵权必删。不作商业用途,转载请注明出处 ARP(Address Resolution Pro...

  • ICMP协议与ping

    本文作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 ICMP协议的格式...

网友评论

    本文标题:十六.网络协议学习笔记 SPDY_QUIC_HTTP2_HTTP

    本文链接:https://www.haomeiwen.com/subject/nzqubltx.html