《HTTP2基础教程》笔记

HTTP/1问题

队头阻塞

低效TCP

  • 慢启动
  • 拥塞避免阶段

臃肿头部

受限的优先级

  • 高优先级无法插队

第三方资源

  • h2也无法很好解决

web性能优化

DNS查询优化

  • dns-prefetch

TCP连接优化

  • preconnect

避免重定向

  • CDN/服务器内部重定向

缓存

  • 客户端缓存
  • 边缘缓存

资源压缩

避免css/js阻塞

图片优化

h2优化的错误方法

  • 精灵图/资源合并
  • 域名拆分
  • 禁用cookie

HTTP/2协议

二进制协议

  • 帧结构

头部压缩

  • CRIME漏洞

    • 添加数据,gzip压缩后,如果大小变化不对,说明添加的数据与原有数据有重复

多路复用

  • 流概念

流量控制

  • HTTP2层流控窗口

优先级

  • 依赖关系
  • 权重

服务端推送

性能指标

TTFB 首字节时间

PLT页面加载时间

RTT往返时延

RUM 用户监控

其他

大量小资源场景:h2比h1更容易受到丢包影响

  • h1建立了多个连接,相对于TCP的初始拥塞窗口更大。

增加带宽不会减少时延

减少RTT对PLT一定有帮助

XMind: ZEN - Trial Version

《HTTP2基础教程》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. StringBuilder作用

    String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然 ...

  2. 自己定义ViewGroup控件(二)-----&gt;流式布局进阶(二)

    main.xml <?xml version="1.0" encoding="utf-8"? > <com.example.SimpleLay ...

  3. jdk并发工具包之锁

    1.cynchronized扩展:可重锁入ReentrantLock ReentrantLock是通过cas算法实现的 RenntrantLock lock=new ReentrantLock(); ...

  4. ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?

    include "stdafx.h" #include<iostream> #include<vector> #include<math.h> ...

  5. linux SPI驱动——spidev之deive(五)

    1.定义board设备 1: struct spi_board_info { 2: /* the device name and module name are coupled, like platf ...

  6. 计算机器内存数量+引入和显示ARDS成员

    [1]README 1.1) 本代码在于读取内存中多个 内存段的地址范围描述符结构体(ARDS),有多少个内存段可以用: 1.2) source code and images in the blog ...

  7. Spring IOC源代码具体解释之容器依赖注入

    Spring IOC源代码具体解释之容器依赖注入 上一篇博客中介绍了IOC容器的初始化.通过源代码分析大致了解了IOC容器初始化的一些知识.先简单回想下上篇的内容 加载bean定义文件的过程.这个过程 ...

  8. 【BZOJ2229】[Zjoi2011]最小割 最小割树

    [BZOJ2229][Zjoi2011]最小割 Description 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有 ...

  9. java中Random(long seed)方法与rRandom()方法的使用产生随机数

    Random 类作为JAVA中用于产生的随机数 ,new  Random(10)  :10是种子数. 注意:Random 的一个特点是:相同种子数的Random对象,对应相同次数生成的随机数字是完全相 ...

  10. Struts2常见面试点

    01.  三层和MVC的区别 http://blog.csdn.net/csh624366188/article/details/7183872 http://www.cnblogs.com/zdxs ...