HTTP/2简介

 

小汇总...



背景HTTP/2是基于SPDY协议设计的新的超文本协议,为了方便了解HTTP/2,不妨先聊一聊HTTP/2的诞生背景,以及整个超文本协议的演变过程。

HTTP1.0协议定义

HTTP是超文本传输协议(yperText Transfer Protocol)的简称,是互联网上应用最为广泛的一种网络协议,HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

HTTP1.0特点
  • 支持客户/服务器模式
  • 简单快速
  • 灵活
  • 无连接
  • 无状态
HTTP1.1协议定义

持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP1.1特点
  • 缓存处理
  • 带宽优化及网络连接的使用
  • 错误通知的管理
  • 消息在网络中的发送
  • 互联网地址的维护
  • 安全性及完整性
SPDY 协议定义

SPDY为speedy(单词原意:快速的)的缩写,读音也就是speedy,是谷歌公司开发的基于传输控制协议 (TCP) 的应用层协议,SPDY协议旨在通过压缩、多路复用和优先级来缩短网页的加载时间和提高安全性。

SPDY协议特点
  • 兼容HTTP的原有协议
  • 多路复用 请求优化
  • 请求分优先级,重要的资源优先传送
  • HTTP头部数据也被压缩,省流量
  • 服务器端可主动连接客户端来推送资源
  • 强制使用SSL传输协议
  • 单连接会因TCP线头阻塞
  • 会有丢包情况
原有HTTP协议的不足
  • 单路连接 请求低效
  • HTTP 只允许由客户端主动发起请求
  • HTTP 头冗余
SPDY流程图

浏览器实现SPDY方案

HTTP/2协议

HTTP/2由标准化组织来制定,是基于SPDY的

HTTP/2 和SPDY的区别
  • 增加了HTTP/1.1 Upgrade的机制,可在TCP上直接使用HTTP/2,不像SPDY那样必须在TLS上
  • HTTPS连接时使用NPN的规范版ALPN
  • 更完善的协议商讨和确认流程
  • 更完善的Server Push流程
  • 增加控制帧的种类,并对帧格式考虑得更细致
  • 有新算法HPACK专门压缩SPDY header block
HTTP/2交互方式

HTTP/2 的基石 - Frame

Frame 是 HTTP/2 二进制格式的基础,基本可以把它理解为它 TCP 里面的数据包一样。HTTP/2 之所以能够有如此多的新特性,正是因为底层数据格式的改变。

frame的结构设计以及转换为普通HTTP协议格式


frame的设计借鉴于SPDY,是在TCP和HTTP中间设计了一套封装数据的协议格式。


    关注 一点半克


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册