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

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP LTM(all modules)

Known Affected Versions:
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,,,,,,,,,, 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

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips