Reemplace los valores de "control de caché" en una respuesta HTTP

Tengo una página web que devuelve el siguiente encabezado cuando accedo al material:

HTTP/1.1 200 OK
Date: Sat, 29 Jun 2013 15:57:25 GMT
Server: Apache
Content-Length: 2247515
Cache-Control: no-cache, no-store, must-revalidate, max-age=-1
Pragma: no-cache, no-store
Expires: -1
Connection: close

Usando una extensión de Chrome, quiero modificar estoresponse header para que el material se almacene en caché en lugar de desperdiciar ancho de banda.

Tengo el siguiente código de ejemplo:

chrome.webRequest.onHeadersReceived.addListener(function(details) 
    {
        // Delete the required elements
        removeHeader(details.responseHeaders, 'pragma');
        removeHeader(details.responseHeaders, 'expires');

        // Modify cache-control
        updateHeader(details.responseHeaders, 'cache-control', 'max-age=3600;')

        console.log(details.url);
        console.log(details.responseHeaders);

        return{responseHeaders: details.responseHeaders};
    },
    {urls: ["<all_urls>"]}, ['blocking', 'responseHeaders']
);

Lo que modifica correctamente el encabezado a algo como esto (basado en la salida de console.log ()):

HTTP/1.1 200 OK
Date: Sat, 29 Jun 2013 15:57:25 GMT
Server: Apache
Content-Length: 2247515
Cache-Control: max-age=3600
Connection: close

Pero en base a todo lo que he tratado de verificar, no puedo ver ninguna evidencia de que esto haya sucedido:

loscache no contiene una entrada para este archivolosNetwork pestaña en elDeveloper Console no muestra ningún cambio en absoluto en la respuesta HTTP (he intentado cambiarlo a modificaciones incluso triviales solo para garantizar que no sea un error, pero aún no hay cambios).

Los únicos indicios reales que puedo encontrar sonesta pregunta lo que sugiere que mi enfoque todavía funciona y este párrafo en eldocumentación de la API de webRequest lo que sugiere que esto no funcionará (pero no explica por qué no puedo obtener ningún cambio):

Tenga en cuenta que la API de solicitud web presenta una abstracción de la pila de red a la extensión. Internamente, una solicitud de URL se puede dividir en varias solicitudes HTTP (por ejemplo, para recuperar rangos de bytes individuales de un archivo grande) o puede ser manejada por la pila de la red sin comunicarse con la red. Por este motivo, la API no proporciona los encabezados HTTP finales que se envían a la red. Por ejemplo, todos los encabezados relacionados con el almacenamiento en caché son invisibles para la extensión.

Nada funciona en absoluto (no puedo modificar elHTTP response header en absoluto) así que creo que esa es mi primera preocupación.

¿Alguna sugerencia sobre dónde podría estar yendo mal o cómo ir para encontrar qué está mal aquí?

Si no es posible, ¿hay otras formas de lograr lo que estoy tratando de lograr?

Respuestas a la pregunta(1)

Su respuesta a la pregunta