У меня много маленьких изображений (размером ~ 3kb или около того) и много файлов css и js.После первого запроса они кэшируются в браузере, но когда я перезагружаю страницу, браузер пытается проверить свежесть кэшированного содержимого (путем установки If-Modified-Since и т. Д.) И получает ответ 304 без изменений.Каждый из этих запросов на проверку серьезно увеличивает время загрузки страницы (скажем, 20 раз на 300 мс).
Как отменить проверку свежести кэша на сервере из браузера?Как можно указать браузеру использовать локальные кэшированные файлы / изображения в течение определенного времени (например, 1 час) без повторной проверки или проверки свежести локального кэша на удаленном сервере для каждой перезагрузки с этим периодом времени?
ниже приведен пример деталей заголовка небольшого изображения [с использованием rails 3.1, на heroku]:
Заголовки ответа
HTTP/1.1 304 Not Modified
Server: nginx/0.7.67
Date: Thu, 10 Nov 2011 17:53:33 GMT
Connection: keep-alive
Via: 1.1 varnish
X-Varnish: 1968827848
Last-Modified: Tue, 08 Nov 2011 07:36:04 GMT
Cache-Control: public, max-age=31536000
Etag: "5bda917d22f8a144c293f3f19723dbc6"
Заголовки запроса
GET /assets/icons/flash_close_button-5bda917d22f8a144c293f3f19723dbc6.png HTTP/1.1
Host: ???.heroku.com
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0.1) Gecko/20100101 Firefox/6.0.1
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
Connection: keep-alive
Referer: http://???.heroku.com/
Cookie: ???
If-Modified-Since: Tue, 08 Nov 2011 07:36:04 GMT
If-None-Match: "5bda917d22f8a144c293f3f19723dbc6"
Cache-Control: max-age=0