zoukankan      html  css  js  c++  java
  • HTTP2.0——头部压缩

    先凉出常见术语

    Header Field(头部域): 一个名值对。 名字和值都是以八进制存在的。

    Dynamic Table(动态表): 动态表是用于存放含有索引值的头部域的。 这个表示动态变化的而且针对于编码或者解码的内容的。 

    Static Table(静态表): 静态表只要用于存放含有索引值的频繁出现的头部域的。这个表是有序的、只读、可访问的而且在几乎所有的编码或者解码的内容中可以共享的。

    Header List(头部列表):头部列表是头部域的有序集合一起被编码的而且可能含有重复头部域。一个完整的含有Http/2头部快的头部域就是一个头部列表。

    Header Field Respresentation(头部域表示):一个头部域在编码后可以以一个字面值也可以是一个索引值。

    Header Block(头部块):一个有序的头部域表示在被解码的时候就是一个完成头部列表。

    头部压缩需要在支持 HTTP/2 的浏览器和服务端之间:

    • 维护一份相同的静态字典(Static Table),包含常见的头部名称,以及特别常见的头部名称与值的组合;
    • 维护一份相同的动态字典(Dynamic Table),可以动态地添加内容;
    • 支持基于静态哈夫曼码表的哈夫曼编码(Huffman Coding);

    静态字典的作用有两个

    1)对于完全匹配的头部键值对,例如 :method: GET,可以直接使用一个字符表示;

    2)对于头部名称可以匹配的键值对,例如 cookie: xxxxxxx,可以将名称使用一个字符表示。

  • 相关阅读:
    【WPF】给下拉列表ComboBox绑定数据
    【C#】POST请求参数含中文,服务器解析得到乱码
    CentOS下搭建SVN服务器
    MySQL之ALTER
    深入PHP内核之ZVAL
    关于zend_parse_parameters函数
    PHP数组
    shell中比较字符串大小,>和<前需要加上进行转义,否则会输出到文件了
    awk编程基础
    【读书笔记】《Python_Cookbook3》第一章:数据结构和算法
  • 原文地址:https://www.cnblogs.com/jiox/p/14535516.html
Copyright © 2011-2022 走看看