El encabezado de respuesta HTTP para Cache-Control no funciona en Apache httpd

El encabezado de respuesta HTTP para Cache-Control no funciona en Apache httpd

Configuré Cache-Control en Apache durante 1 semana para mis archivos JS, pero cuando reviso en el navegador, Cache-Control muestra que no hay caché. ¿Dónde me falta la configuración?

A continuación se muestra mi configuración en Apache.

<ifModule mod_headers.c>

  <filesMatch "\.(html|htm|png|js|css)$">
   Header set Cache-Control "max-age=604800, public"
  </filesMatch>

</ifModule>

Solicitar encabezado en el navegador

    Request URL:http://test.com/Script.js?buildInfo=1.1.200
    Request Method:GET
    Status Code:200 OK
    Request Headersview source
    Accept:*/*
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    **Cache-Control:no-cache**
    Connection:keep-alive
    Host:test.com
    Pragma:no-cache
    Referer:http://test.com/home.jsp
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like      
    Gecko) Chrome/37.0.2062.120 Safari/537.36
    Query String Parametersview sourceview URL encoded
    buildInfo:1.1.200

    Response Headersview source
    Cache-Control:max-age=2592000
    Connection:keep-alive
    Content-Encoding:gzip
    Content-Type:text/javascript
    Date:Sun, 12 Oct 2014 16:17:46 GMT
    Expires:Tue, 11 Nov 2014 16:17:46 GMT
    Last-Modified:Tue, 07 Oct 2014 13:28:08 GMT
    Server:Apache
    Transfer-Encoding:chunked
    Vary:Accept-Encoding

Respuesta1

Debe habilitar el módulo de encabezados, asumiendo Debian:

sudo a2enmod headers

Luego, para que los cambios surtan efecto, debes recargar o reiniciar Apache:

sudo service apache2 reload

Si esto no tiene efecto, también hay otras partes de su configuración que pueden anular la directiva Cache-Control, por ejemplo en un .htaccess servido desde su raíz web.

Además, no estoy seguro de si Apache permite el uso de mayúsculas en la configuración de su servidor. Posiblemente debas usar (fíjate en la I mayúscula) y si Apache no reconoce tu mayúscula, debería imprimir errores al reiniciar.

Respuesta2

Cache-Control:no-cacheno aparece solo, está siendo producido por la aplicación.

Ya sea que algo esté configurado en Apache o no, lo que sea que devuelva la aplicación anulará los valores predeterminados.

Entonces la respuesta de @MartinOlika además, habrá que revisar la aplicación, o si se desea se puede hacer la configuración deseada a nivel de aplicación.

información relacionada