为了提供每个分块的元数据(例如签名和散列),中间消息控制信息或消息主体大小的随机化,分块编码允许每个块包括零个或更多个紧跟在块大小之后的块扩展。
chunk-ext = *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
chunk-ext-name = token
chunk-ext-val = token / quoted-string
分块编码是特定于每个连接的并且在更高等级的应用有机会检查扩展之前可能被每个接收者(包括中介)删除或者重新编码。因此,使用分块扩展的使用通常局限于专门的HTTP服务,如长轮询(客户端和服务器可以共享使用块扩展的期望),或者在端到端的安全连接中进行填充。
接收者必须忽略未识别的块扩展。服务器应该在一个请求中将接收到的块扩展的总长度限制到所提供服务的合理数量,就像对消息的其他部分应用长度限制和超时一样,如果超过该数量则生成适当的4xx(客户端错误)相应。