Преодолеть некэшируемость страниц в Firefox

Я пытаюсь создать расширение для Firefox, чтобы получить страницу с веб-сервера и поместить ее в кеш браузера, чтобы, когда пользователь запрашивает эту ссылку, она извлекалась непосредственно из кеша, а не запрашивалась оригинальный веб-сервер.

Но у меня возникают проблемы с некоторыми страницами, которые помещают заголовки, чтобы избежать кеширования, такие как «Cache-control: must-revalidate», «Cache-control: no-store», «Cache-control: no-cache» и «Pragma : без кеша".

Я пытаюсь перезаписать эти заголовки с помощью setResponseHeader nsIHttpChannel при поступлении страницы. Но заголовки в соответствующей записи кэша не изменяются. Затем я пытаюсь использовать setMetaDataElement nsICacheEntryDescriptor для изменения ключа метаданных «response-head». Хотя данные изменены, страница по-прежнему извлекается с исходного веб-сервера.

Кто-нибудь знает, как решить эту проблему и заставить страницы загружаться из кеша Firefox? Это возможно?

Заранее спасибо.


person diegowcs    schedule 20.09.2010    source источник


Ответы (1)


Я использовал XMLHttpRequest для получения страницы, и проблема заключалась в том, что я изменил заголовки ответов в созданной мной функции onreadystatechange.

В качестве альтернативы я использовал наблюдатель для «http-on-examine-response» и изменил заголовки ответа в методе «observe». Изменение теперь хранится в кеше.

Я понял это, просмотрев BetterCache расширение Firefox. код.

person diegowcs    schedule 22.09.2010