《HTTP - http2.0》
推荐一首歌
杨超越真的只唱了一句!
PS:
这章主要讲述了在 HTTP 发展之后的,一些扩展协议和补充,也会在这个章节对这几种协议和补充做一个比较。
1:HTTP 的瓶颈到底在哪里?
- 一个连接只可以发送一个请求。
- 只可以客户端发送请求。(这个是和WebSocket比较来说的)。
- 请求/响应 每次发送都是相同的首部,并且首部信息越多,延迟越大。
- 虽然可以选择压缩格式,但是并不是强制压缩。
- 虽然HTTP1.x支持了keep-alive,来弥补多次创建连接产生的延迟.
- 但是keep-alive使用多了同样会给服务端带来大量的性能压力,并且对于单个文件被不断请求的服务(例如图片存放网站).
- keep-alive可能会极大的影响性能,因为它在文件被请求之后还保持了不必要的连接很长时间。
2:ajax(async js and XML - 异步JS 和 XML 技术) 我这也是简写
- ajax 只更新局部资源,抛开用户体验来说(当然也不能抛开),也是优化了 HTTP 传输速率的一个部分。
3:SPDY(Speedy 谐音)(HTTP2.0基础)
- 并不是新的一种协议,而是在 HTTP 之前做了一层会话层。具体看下图
- 
- 目前只支持在 HTTPS 中使用。
- 多路复用(最主要的一条)
- 通过一条 TCP 连接,处理多个 HTTP 请求。
- 压缩 HTTP 首部
4:什么是 HTTP2.0 ?
- HTTP2.0可以说是SPDY的升级版(其实原本也是基于SPDY设计的)
- 但是,HTTP2.0 跟 SPDY 仍有不同的地方,主要是以下两点:
- HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS
- HTTP2.0 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE
- 特性
- 支持二进制格式。
- 多路复用,也就是SPDY
- 参考
《HTTP - http2.0》的更多相关文章
- 《精通MVC5.0》路由笔记
MVC使用路由系统处理请求的URL.路由系统主要功能 检查请求的URL,并理解该URL对应的控制器和方法 生成URL地址 在MVC程序中有两种方式创建路由:convention-based routi ...
- 2星|《工业X.0》:物联网的资料汇编
工业X.0:实现工业领域数字价值 看完比较失望,没有看到新的观点想法.基本算是物联网的资料汇编.总体评价2星. 以下是书中一些内容的摘抄: 1:例如,埃森哲为其员工开发了一个用例,用增强现实技术解决实 ...
- 《精通MVC5.0》笔记Razor
1.1.视图声明数据类型 Razor声明都是@开始,例如@model MVC.Models.Product声明了控制器创给视图的数据类型,这样就可以在视图使用@Modle.property访问数据,如 ...
- 《征服 C 指针》摘录1:什么是空指针?区分 NULL、0 和 '\0'
一.什么是空指针? 空指针 是一个特殊的指针值. 空指针 是指可以确保没有向任何一个对象的指针.通常使用宏定义 NULL 来表示空指针常量值. 空指针 确保它和任何非空指针进行比较都不会相等,因此经常 ...
- 《Ruby语言入门教程v1.0》学习笔记-01
<Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...
- Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物
如今我们有2种类型的怪物,并且创建的时候是写死在代码里的,这是要作死的节奏~ 所以.必须可配置.不然会累死人的. ; i < size; ++i) { int id = root[i][&quo ...
- Cocos2d-x3.0游戏实例《不要救我》第一章——前言
我们可以学习? 这是一个非常easy游戏.但更多的东西用(对于初学者).至少,对于它的一个例子,有点多. 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www.benm ...
- 《Effective Objective-C 2.0》 读后总结
感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更 ...
- 《Effective Objective-C 2.0》摘要
前一段时间将<Effective Objective-C 2.0>这本书浏览了一遍,说一下几个觉得比较有意思的知识点. 感觉这本书是ios开发必看的一本书,最基础的,以及稍微高阶一点的oc ...
随机推荐
- 【论文笔记】使用SPSS 进行 T Test (T检验)
从具有t值来看,你是在进行T检验.T检验是平均值的比较方法. T检验分为三种方法: 1. 单一样本t检验(One-sample t test),是用来比较一组数据的平均值和一个数值有无差异.例如,你选 ...
- 【Spring源码分析】Bean加载流程概览(转)
转载自:https://www.cnblogs.com/xrq730/p/6285358.html 代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. ...
- 聊聊模板方法模式,装饰器模式以及AOP
在软件系统设计的时候,我们需要把一个大的系统按照业务功能进行拆分,做到高内聚.低耦合. 但是呢,拆分之后会产生一些通用性的东西,比如日志,安全,事务,性能统计等,这些非功能性需求,横跨多个模块.最lo ...
- 程序-代写(qq:928900200)
CS 310 Programming Assignment 4 Due April 27, 2014 5:00 P.M. About 15 years in the future... The Mar ...
- 记录一次在安装双系统的过程(先有debian, 后加windows 8.1)
突破的难题: 如何在一整个根目录的分区中切出来一半用于安装windows8.1呢? 当初安装debian系统时, 由于脑残,直接把整个500G的硬盘分给了根目录 / ,所以整个磁盘就TMD的一个主 ...
- PISQLDAS 查询语句
SELECT tag,CAST(value AS Float64) FROM piarchive..piavg WHERE tag = ? AND time >= DATE(?) AND tim ...
- file_name[:-4]
file_name: chair_0001.off file_name[:-4] : chair_0001
- [PGM] Markov Networks
6 Markov Networks 系列 因果影响的独立性 noisy-or模型 和 广义线性模型 略,暂时不感兴趣. Pairwise Markov Networks The last col is ...
- asp.net mvc 3.0 知识点整理 ----- (3).HtmlHelper(Html 辅助方法)介绍
在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑 ...
- java导出json格式文件
生成json文件代码: import java.io.File; import java.io.FileWriter; import java.io.Writer; public class Crea ...