Bug ID 696755: HTTP/2 may truncate a response body when served from cache

Last Modified: Nov 07, 2022

Bug Tracker

Affected Product:  See more info
BIG-IP LTM(all modules)

Known Affected Versions:
12.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2, 12.1.2 HF1, 12.1.2 HF2, 12.1.3,,,,,,,, 12.1.4,, 12.1.5,,,, 12.1.6, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0,,,,,,,, 14.0.0,,,,,, 14.0.1,, 14.1.0,,,,, 15.0.0, 15.0.1,,,,, 15.1.0,,,,,, 15.1.1, 15.1.2,, 16.0.0,, 16.0.1,

Fixed In:
16.1.0,, 15.1.3,,

Opened: Nov 29, 2017
Severity: 3-Major


BIG-IP systems provide a client-side HTTP/2 Gateway protocol implementation in conjunction with HTTP 1.x on a server side. A response can be cached on the BIG-IP system with a web acceleration profile. Sometimes a response served from cache is prematurely marked with END_STREAM flag, causing the client to ignore the rest of the response body.


Some clients' browsers do not retry a resource, causing incorrect rendering of an HTML page.


BIG-IP system has a virtual server for which HTTP/2 and Web Acceleration profiles are configured.


Adding the following iRule causes the body to be displayed: when HTTP_RESPONSE_RELEASE { set con_len [string trim [HTTP::header value Content-Length]] HTTP::header remove Content-Length HTTP::header insert Content-Length "$con_len" }

Fix Information

With provided fix, HTTP/2 end users no longer experience the problem of incorrect page rendering due to this issue.

Behavior Change