Проблема: Я не могу показаться, чтобы получить FireFox кэшировать изображения, отправленные из динамического сервераBrowser Control Cache, Dynamic Content
Установка: Статический сервер Apache с обратным прокси для динамического сервера (mod_perl2) на бэкэнд.
Вот URL-адрес запроса для сервера. Он посылаются в динамическом сервер, где куки используются для проверки доступа к изображению:
заголовков запроса
Host: <OBSCURED>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
Accept: image/png,image/*;q=0.8,*/*;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: <OBSCURED>
Cookie: pz_cred=4KCNr0RM15%2FJCOt%2BEa6%2BL62z%2Fxvbp2xNQHY5pJw5d6Q
Pragma: no-cache
Cache-Control: no-cache
Динамический сервер потоки изображения обратно на сервер, и обеспечивает следующий ответ:
Response Headers
Date: Tue, 24 Nov 2009 04:28:07 GMT
Server: Apache/2.2.11 (Ubuntu) mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
Cache-Control: public, max-age=31536000
Content-Length: 25496
Content-Type: image/jpeg
Via: 1.1 127.0.1.1:8081
Keep-Alive: timeout=15, max=75
Connection: Keep-Alive
Пока, так хорошо (я думаю). Однако на перезагрузкой страницы, изображение не появляется в кэше, а запрос снова отправлен:
заголовков запроса
Host: <OBSCURED>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
Accept: image/png,image/*;q=0.8,*/*;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: <OBSCURED>
Cookie: pz_cred=4KCNr0RM15%2FJCOt%2BEa6%2BL62z%2Fxvbp2xNQHY5pJw5d6Q
Cache-Control: max-age=0
Это не кажется, что запрос должен произойти как браузер должен был кэшировать изображение. Как бы то ни было, принимается ответ 200, тот же, что и первый, и изображение, как представляется, повторно набирается (хотя браузер, похоже, использует кэшированные изображения).
Проблема, по-видимому, указана в Cache-Control: max-age = 0 в заголовке запроса перезагрузки выше.
Кто-нибудь знает, почему это происходит? Возможно, это заголовок Via в ответе, который вызывает проблему?
Hi Jim: Спасибо за вашу помощь! Первый запрос исходит из Firefox, когда я нажимаю shift-reload. Это кажется уместным, поскольку я прямо спрашиваю «свежий» контент. И первый ответ кажется правильным; он имеет предназначенные заголовки. Второй запрос происходит при перезагрузке браузера/без/сдвига. Ожидается, что кеш firefox выполнит первый ответ, например. макс возраста = 31536000. Похоже, сервер говорит, что все изображения (изображение/*) можно кэшировать. Если все это правильно, возникает вопрос, почему FireFox игнорирует директивы кэша? –
Я должен добавить, кеш включен в FireFox, и он успешно кэширует изображения со статического сервера. Я также удалил заголовки, но не люблю. –