延续帧(type=0x9)用来延续一个报头区块的碎片序列。

没有设置 END_HEADERS 标志的报头帧 (HEADERS) ,推送承诺帧( PUSH_PROMISE) ,后面可以跟随一个或者多个延续帧(CONTINUATION ),最后的一个延续帧会设置 END_HEADERS标志,表明HEADERS,PUSH_PROMISE 的结束。

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                   Header Block Fragment (*)                 ...
 +---------------------------------------------------------------+

延续帧实体包含一个报头区块碎片

字段:

  • END_HEADERS (0x4) : 位3设置指示这个帧的报头区块的终止

错误处理

如果END_HEADERS位没有被设置,这个帧必须跟着另一个延续帧。终端必须响应报协议错误(连接错误)。

延续帧必须与流相关联。如果延续帧的相关流表示字段是0x0,终端必须响应报协议错误(连接错误)。

延续帧必须跟在不带有END_HEADERS设置的报头帧、推送承诺帧或延续帧后面。否则,终端必须响应报协议错误(连接错误)。


Reco
4.6k 声望541 粉丝

敢作敢为