Заголовок 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, это сработает.