HTTP/2简介
小汇总...
背景HTTP/2是基于SPDY协议设计的新的超文本协议,为了方便了解HTTP/2,不妨先聊一聊HTTP/2的诞生背景,以及整个超文本协议的演变过程。
HTTP1.0协议定义
HTTP1.0特点HTTP是超文本传输协议(yperText Transfer Protocol)的简称,是互联网上应用最为广泛的一种网络协议,HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
- 支持客户/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
HTTP1.1特点持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。
- 缓存处理
- 带宽优化及网络连接的使用
- 错误通知的管理
- 消息在网络中的发送
- 互联网地址的维护
- 安全性及完整性
SPDY协议特点SPDY为speedy(单词原意:快速的)的缩写,读音也就是speedy,是谷歌公司开发的基于传输控制协议 (TCP) 的应用层协议,SPDY协议旨在通过压缩、多路复用和优先级来缩短网页的加载时间和提高安全性。
- 兼容HTTP的原有协议
- 多路复用 请求优化
- 请求分优先级,重要的资源优先传送
- HTTP头部数据也被压缩,省流量
- 服务器端可主动连接客户端来推送资源
- 强制使用SSL传输协议
- 单连接会因TCP线头阻塞
- 会有丢包情况
- 单路连接 请求低效
- HTTP 只允许由客户端主动发起请求
- HTTP 头冗余
浏览器实现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 的基石 - Frame
frame的结构设计以及转换为普通HTTP协议格式Frame 是 HTTP/2 二进制格式的基础,基本可以把它理解为它 TCP 里面的数据包一样。HTTP/2 之所以能够有如此多的新特性,正是因为底层数据格式的改变。
frame的设计借鉴于SPDY,是在TCP和HTTP中间设计了一套封装数据的协议格式。
关注 一点半克
微信扫一扫关注公众号