Я использую Apache 2.2.20. Я установил expire_mod
как «доступ плюс 5 минут». Я проверяю заголовок с помощью какого-то веб-сайта, и я уверен, что в заголовке есть каталог expire. Однако, когда я использую tcpdump для мониторинга сетевого трафика, я все еще вижу передачу пакетов, когда я перезагружаю веб-страницу с помощью Firefox, срок действия которого не должен быть истек. Кто-нибудь знает причину этого? Благодарю.apache server mod_expire использование
4
A
ответ
2
Когда вы нажмете кнопку «перезагрузить» своего браузера, браузер предполагает, что он должен попробовать и перезагрузить все элементы страницы.
У вас есть mod_expires, настроенные правильно. Однако это не остановит попытку браузера: когда вы нажмете кнопку перезагрузки, запрос на каждый элемент будет отправлен в любом случае с заголовком If-Modified-Since
, но поскольку на стороне Apache он не был изменен, Apache будет вернуть 304 Not modified
.
Итак, вы do см. Трафик, а не полную перезагрузку страницы. Вы можете наблюдать это с помощью того же инструмента, который использовался для захвата заголовков, чтобы подтвердить, что keepalive работает (и, кстати, макс. Возраст 5 минут низкий).
Показать конфигурацию, показать нам заголовки, возвращенные Apache для URL-адреса, который, по вашему мнению, должен запускать ваши директивы mod_expires – fge
заголовок возвращен: HTTP/1.1 200 OK Дата: ср, 21 дек. 2011 20:19:36 GMT Сервер: Apache/2.2.20 (Unix) DAV/2 Cache-Control: max-age = 300 Истекает: Wed, 21 Dec 2011 20:24:36 GMT Content-Type: text/html; charset = UTF-8 – runnnnnnnnn
Я добавил следующую строку в файл конфигурации. ExpiresActive On ExpiresDefault «доступ плюс 5 минут» –
runnnnnnnnn