<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [http] 有關http2的主要知識點整理

      一 介紹

      [classic_tong @  http://www.rzrgm.cn/hugetong/p/12694322.html

      為了解決HTTP1的性能問題,HTTP2出現了。

      http1有什么問題

      1.  半雙工的。請求與回應一來一回,彼此等待對方到底。

      2.  不能并發,一個TCP隧道只能處理一個 請求回應 隊列。

      3.  隧道利用率低。大部分TCP連接,握手之后只通訊一次就結束了。

       

      http2有什么新的

      1.  在傳輸層與應用層直接,增加分幀層。

      2.  增加流控制。

      3.  增加服務器推送。

      4.  增加頭壓縮。

       

      二 分幀層

      分幀層功能

      1  分幀層使半雙工變成了全雙工。

      2  分幀層在傳輸層之上實現了多條全雙工隧道。

      3  隧道支持優先級。

       

      分幀層模型

      為了實現多個全雙工隧道的功能,引入以下三個概念:

      1. 流 stream

      2. 消息 message

      3. 幀 frame

       

      參考: https://developers.google.com/web/fundamentals/performance/http2?hl=zh-cn

       

      三 包格式

      應用層,也就是分幀層之上的一層。在邏輯結構和內容上,與http1相同。具體實現上有所差別。

      幀結構

          +-----------------------------------------------+
          |                 Length (24)                   |
          +---------------+---------------+---------------+
          |   Type (8)    |   Flags (8)   |
          +-+-------------+---------------+-------------------------------+
          |R|                 Stream Identifier (31)                      |
          +=+=============================================================+
          |                   Frame Payload (0...)                      ...
          +---------------------------------------------------------------+

      詳見: https://tools.ietf.org/html/rfc7540#section-4.3

       

      四 頭壓縮

      HEADER就是HTTP中的HEADER,它是有壓縮的。

      第一步,把常用的header name + value 用數組進行了替換,使用查表的方式進行約定,

      表在這里: https://tools.ietf.org/html/rfc7541#appendix-A

      后七個bit查表,第一個bit恒為1

           0   1   2   3   4   5   6   7
         +---+---+---+---+---+---+---+---+
         | 1 |        Index (7+)         |
         +---+---------------------------+

      表中沒有約定的內容,仍然使用ascii碼的形式。

      第二步,使用哈夫曼編碼進行字符壓縮。當然,其實也可以直接ascii碼,說的有點亂,詳見:https://tools.ietf.org/html/rfc7541#section-5.2

      有三種情況:with indexing, without indexing, and never indexed, 格式類似,但是不完全相同。

      第一種情況的格式是這樣的:

           0   1   2   3   4   5   6   7
         +---+---+---+---+---+---+---+---+
         | 0 | 1 |      Index (6+)       |
         +---+---+-----------------------+
         | H |     Value Length (7+)     |
         +---+---------------------------+
         | Value String (Length octets)  |
         +-------------------------------+

      要點:1  第二個bit是1代表當前這種情況。2  第9個bit是1代表后邊的內容使用哈夫曼編碼,如果是0直接使用ascii碼。

      舉個例子: server: nginx

      這個例子里,第三到第八個bit,查前文“第一步”里面的表,可以得到代表server的index值。填進去,在這里,它是54,加上第二個bit的1,16進制就是0x76。

      如下圖:

       如圖,0x76 84 aa 63 55 e7

      76分析過了。84第一個bit是1,代表使用哈夫曼編碼,去掉1剩下的4代表長度4個字節。后邊的是個字節,就是哈夫曼編碼。

      可以通過查表得到,是另一張表,在這:https://tools.ietf.org/html/rfc7541#appendix-B

      字符串nginx查表結果二進制:(后邊的兩個 11 是padding)

       

       我們的例子里的二進制,是這樣的。兩個對照,是一致的。

       

       

       以上。header的編碼就是醬紫。

       

      五 舉個例子

      http2c.pcap

      使用nginx + hghttp2工具實驗,抓到的包,截圖在這里:

       

      六  與SPDY的區別

      1  SPDY是用控制與數據兩種幀類型,HTTP2只使用一種。

      2  HTTP2使用哈夫曼編碼壓縮,SPDY使用基于流的壓縮。

      來自wiki:https://en.wikipedia.org/wiki/HTTP/2#Genesis_in_and_later_differences_from_SPDY

      七 完

      [classic_tong @  http://www.rzrgm.cn/hugetong/p/12694322.html

       

      posted on 2020-04-14 11:41  toong  閱讀(508)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 日本中文字幕久久网站| 免费无码观看的AV在线播放| 国产老熟女国语免费视频| 亚洲乱熟女一区二区三区| 亚洲一区二区av偷偷| 久久99久国产精品66| 亚洲区欧美区综合区自拍区| 亚洲精品成人片在线观看精品字幕| 久久综合亚洲鲁鲁九月天| 亚洲国产av区一区二| 国产精品免费无遮挡无码永久视频| 亚洲欧洲久久激情久av| 亚洲精品麻豆一区二区| 成人一区二区不卡国产| 免费人妻无码不卡中文18禁| 国产精品日日摸夜夜添夜夜添无码 | 18禁在线一区二区三区| 二区中文字幕在线观看| 亚洲高清WWW色好看美女| 久久久久影院色老大2020| 色综合久久久久综合体桃花网 | 久久96热在精品国产高清| 精品熟女少妇av免费久久| 库尔勒市| 91中文字幕一区在线| 性欧美暴力猛交69hd| 欧美老少配性行为| 熟女人妇 成熟妇女系列视频| 亚洲永久精品免费在线看| 少妇办公室好紧好爽再浪一点| 国产精品爆乳在线播放第一人称| 人妻少妇偷人精品免费看| 亚洲色最新高清AV网站| 日本丶国产丶欧美色综合| 库伦旗| 国产精品二区中文字幕| 成人欧美一区二区三区在线观看| 日日噜噜夜夜狠狠久久无码区| 蜜臀91精品高清国产福利| 在线精品视频一区二区三四| 亚洲精品一区二区三区免|