When Catalyst is used with Apache
Where Apache has "Expire" enabled but relies on Catalyst to use
"no-cache" pragma on its own responses.
Having been using 5.7 and FastCGI Engine
On Upgrading the 5.9 and using the default PSGI behaviour for FastCGI
In 5.7 c->response->redirect() method use to generate the header
"Cache-control: max-age=0" and "Expires" header to reflect the default
expiry time.
In 5.9 the same method now omits the Cache-control header resulting in
the redirects being cached in the browser for the default expiry time.
Workaround - add
$c->response->headers->header( 'Cache-Control' => 'max-age=0' );
Before any call to
$c->response->redirect()
Probably the default behaviour for 5.9 should be to include this max-age
header as the default in the redirect as otherwise people missing this
is testing could have redirects cached unexpectedly in end user browsers.
Debian Squeeze 5.10.1 amd64 release. Perl modules upgraded to all
current from CPAN as of September 17th 2012.
Discussed briefly with jnap on IRC channel.