Я пытаюсь решить проблему с кешированием. В настоящее время мы используем CMS со встроенным кешированием. Затем мы можем удалить кешированную копию через панель управления, и некэшированная страница будет обслуживаться, пока мы снова не кэшируем эту страницу.
Короче говоря, мы знаем, что был установлен прокси-сервер или балансировщик нагрузки, и мы думаем, что он кэширует страницы, а также CMS. Наша конкретная проблема заключается в том, что, когда мы откэшируем страницу в CMS, требуется 15 минут (по времени), чтобы отобразиться без кеширования (даже после использования другого браузера, очистки кеша браузера и т. Д.), Когда до сети После внедрения устройства некэшированная страница будет отображаться немедленно. К сожалению, у нас нигде нет сохраненных исторических заголовков ответов.
Когда мы считаем, что страница кэшируется прокси / lb, возвращается заголовок Response:
HTTP/1.1 304 Not Modified
Server: Apache/2.0.59 (Unix) JRun/4.0 mod_ssl/2.0.59 OpenSSL/0.9.8k PHP/5.2.6
Last-Modified: Fri, 03 Aug 2012 13:29:12 GMT
Etag: "92fe-18f7-837ada00"
Accept-Ranges: bytes
Keep-Alive: timeout=5, max=100
Content-Type: text/html
Content-Encoding: gzip
Connection: Keep-Alive
Date: Mon, 06 Aug 2012 13:49:40 GMT
X-Cntnt-Length: 6391
Когда он не кэшируется CMS, заголовки ответа:
HTTP/1.0 200 OK
Date: Mon, 06 Aug 2012 14:03:59 GMT
Server: Apache/2.0.59 (Unix) JRun/4.0 mod_ssl/2.0.59 OpenSSL/0.9.8k PHP/5.2.6
X-Powered-By: PHP/5.2.6
Set-Cookie: blah-blah-blah
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Mon, 06 Aug 2012 14:04:04 GMT
Pragma: no-cache
Connection: close
Content-Type: text/html
Я предполагаю, что мой вопрос: можно ли настроить Apache2 для возврата как HTTP 1.0, так и 1.1? Я знаю, что Etag указывает на кешированную страницу, и считаю, что он недоступен в HTTP / 1.0.
Спасибо за любые идеи.
[Первоначально я спросил об этом в stackoverflow, и было предложено спросить здесь.]
Ваш некешированный ответ возвращает:
X-Powered-By: PHP/5.2.6
Это означает, что это страница, созданная PHP, а это означает, что ваше приложение PHP также могло сгенерировать HTTP/1.0 200 OK
. Если это так, поиск HTTP/1.0
через исходный код может выявить вредоносный код.
Конечно, возможно, что веб-сервер может ответить как HTTP 1.0, так и HTTP 1.1. Например. Ты можешь использовать web-sniffer.net чтобы подтвердить это. Протестируйте отправку запроса "HTTP 1.0" на Google.com, и вы получите ответ 1.0. Протестируйте с HTTP 1.1, и вы получите ответ HTTP 1.1.
Если вы устанавливаете заголовки, которые объявляют, что ваш контент кэшируется, вполне справедливо, что сетевые устройства и браузеры пользователей кэшируют, как вы заявили, что это разрешено.
Решение, которое следует учитывать, - установить время кеширования на низкое (или выключенное) время, пока вы вносите изменения, чтобы изменения отражались сразу. Затем, когда вы закончите, снова включите кеширование или увеличьте время кеширования.