Hi there, i'm just changing the web pages served with my mp2+libapreq2+mod_xslt2, and to inform that these pages has been modified i was used to use the $r->err_headers_out method to avoid any caching procedure.
However, something is not working since the HTTP server is responding a 304 not modified state. Evaluating the HTTP headers i can observe that the problem is the ETAG entity, that is shown to not to be changed. If i force the page refresh with the browser (MAJ.+reload) then i get the right page, but this is something that users doesn't have to known, so it's not a valid solution. ------------------------------ This is the headers i put in the appopiate handler: $r->err_headers_out->add('Pragma' => "no-cache"); $r->err_headers_out->add('Cache-control' => "max-age=0"); $r->err_headers_out->add('Cache-control' => "no-cache"); $r->err_headers_out->add('Cache-control' => "must-revalidate"); $r->err_headers_out->add('Expires' => "-1"); return Apache2::Const::DECLINED; ------------------------------ This is the HTTP negotation for http://localhost/camandules.info/main.xml GET /camandules.info/main.xml HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20051010 Firefox/1.0.7 (Ubuntu package 1.0.7) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost/camandules.info/article_new.xml Cookie: blogum=blogum#5109514559015945155995555511; blogum_counter_sesion=1; blogum_counter_pages=main# If-Modified-Since: Tue, 05 Jul 2005 06:25:08 GMT If-None-Match: "1bcbb8-ca-25467900" Cache-Control: max-age=0 HTTP/1.x 304 Not Modified Date: Mon, 07 Nov 2005 10:46:50 GMT Server: mod-xslt/1.3.8 Apache/2.0.55 (Unix) mod_apreq2-20050712/2.1.3-dev mod_perl/2.0.1 Perl/v5.8.7 Connection: Keep-Alive Keep-Alive: timeout=15, max=83 Etag: "1bcbb8-ca-25467900" Expires: -1 Cache-Control: max-age=0, no-cache, must-revalidate ------------------------------ So the server is not seeing that the docs to be served are actually posterior than july. Additionally, although changing the ETAG is not a good idea (which value i put?), i tried it. The ->unset method is not working, and the ->set method is indeed acting as the ->add method (for example $r->err_headers_out->set('Etag' => "-1");). In all cases, the etag value is again sended. Any idea of what can i do to avoid the NOT MODIFIED state?? Thanks! --------------------------------------------------------- Juega y llévate una PS2 two: http://juegos.ya.com/consolas_y_pc/2005/09/concurso-ps2.html Ya.com ADSL Navega y habla 24h ADSL Alta Velocidad + Llamadas Nacionales y Locales + Router Wi-Fi + Cuota Alta. Todo por 29,95/mes+IVA. http://acceso.ya.com/ADSLllamadas/4mb