Bug #76100
closedDesign problem with sending of header "Content-Length"
100%
Description
Any extension registering a hook in TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['hook_eofe']
may potentially totally break the output if config.enableContentLengthHeader = 1
(default since TYPO3 6.2) and no be user is logged in because the header "Content-Length" is then sent to the client and the length of the content is calculated in TSFE before the hooks are being called.
If the content is shortened, then the browser will wait until a timeout for extra content to be sent. If the content is made longer (e.g. in my case with an old version of EXT:solr trying to add extra JS plus 2 line breaks before the @</body>), the browser will truncate the output to the advertised length, resulting into a broken HTML to be interpreted.
(In my case) those 2 extra line breaks = 2 bytes made the end </html>
tag truncated to </htm
. Every browser except IE11 under Windows 10 (!) silently fixed it but IE11 under Windows 10 somehow remembered the extra payload l>
and prefixed it to the next asset fetched, most probably because of using pipelining with the connection. This resulted into a broken CSS and a non-branded intranet page in addition to a connection timeout of 15 seconds!
I don't know what to do here exactly but this is an extremely dangerous hook if the developer is not really aware of this issue.