Заголовок HTTP "Expires" не работает в Chrome
Моя система - Windows 7 x64, Chrome 20.0.1132.57 м.
В заголовке HTTP-ответа у меня есть:
Cache-Control: public, max-age=1000
Expires: *some date*
В IE и FF страница кэшируется локально, и когда я пытаюсь получить доступ снова, набрав URL-адрес и нажав enter, запрос не будет отправлен, и страница будет отображаться правильно. Но в Chrome он всегда отправляет запрос на сервер со следующим заголовком:
Cache-Control: max-age=0
Я не хочу, чтобы клиент отправил запрос на мой сервер, а затем ответил 304. Я хочу сохранить время в оба конца.
Ответы
Ответ 1
Будьте внимательны при тестировании. Я заметил, что в Chrome версии 20, если я нажму F5, чтобы перезагрузить страницу, то на панели сети я вижу новые запросы.
Hoewer, если я поместил курсор в строку заголовка, после текущего URL-адреса страницы и нажал enter, я получаю ресурсы из кеша, для заголовка whitch установлен кеш.
Также лучше использовать максимальный возраст. Максимальный возраст и срок действия одинаковы, но в максимальном возрасте вы указываете продолжительность.
Смотрите это:
http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/
Способ 3 и Способ 4.
Ответ 2
У меня была аналогичная проблема, и я узнал, что если вы сделаете запрос с новой вкладкой Chrome, это сработает.