|Summary:||Chunked encoding is applied to 304 responses with no bodies|
|Product:||Tomcat Connectors||Reporter:||Tim Whittington <timw>|
|Component:||isapi||Assignee:||Tomcat Developers Mailing List <dev>|
Description Tim Whittington 2010-11-29 05:42:00 UTC
When the ISAPI redirector processes a response to a 304 (or 204/205) response with chunked encoding enabled, and a Content-Length is not specified, chunked encoding is applied to the empty body, which created an invalid response. Under normal operation (e.g. DefaultServlet responses), the closing of the output buffer writes a Content-Length: 0 to the response, which the AJP connectors don't try to remove for 304 etc. responses (the HTTP connectors do). This results in 304 responses with Content-Length: 0 headers, which is valid (if quirky). This issue can be reproduced by setting a 304 response status and explicitly calling response.flushBuffer() to commit the response prior to closing the output buffer. The ISAPI Redirector also isn't handling a similar case for HEAD requests.
Comment 1 Tim Whittington 2010-11-29 05:45:33 UTC
Fixed in trunk - will be released in 1.2.32.