Какая стратегия я должен использовать для Apache Сервер HTTP так, чтобы недавно развернутым файлам делали недействительным их кэш?

Хорошо я собираюсь запуститься путем высказывания, что DNS не является хорошей системой обработки отказа всегда, Вам нужны обратный прокси или подсистема балансировки нагрузки. Существует несколько причин, почему опыт не является тем же. В первую очередь, в хроме это использует ОС для захвата информации о DNS так, чтобы зависело от ОС для дюйм/с, таким образом, ОС в этом случае могла бы только дать ему один IP.

До других браузеров очень зависящий от того, как они делают DNS к тому, как он будет работать. Таким образом, сам браузер мог бы решить не попробовать другого дюйм/с или даже попробовать того же несколько раз в зависимости от ответа, который имеет сервер DNS.

Это приносит нам к самому серверу DNS, большинство не уважает Ваши записи TTL и сохраняет затем, как когда-либо долго это чувствует, означая, что Пользователи могли получить Ваш старый IP долгое время...

В-четвертых пользовательский опыт, Вы хотите, чтобы пользователи должны были обновиться 3 или 4 раза для получения веб-сайта? Сделайте у Вас есть любая сессия или основанный на входе в систему материал на Вашем сайте, что происходит, если браузер получает другой IP посреди сессии. При реальной необходимости в HA и время работы, действительно необходимо рассмотреть делать правильно его, честно или он закончится более сломанный, чем использование всего одного сервера.

2
задан 23 May 2017 в 15:41
1 ответ

Etag - хорошая идея, но ваш заголовок expires мешает ей. Почему бы просто не установить для заголовка expires разумное значение? Слишком много людей устанавливают безумные даты истечения срока действия, из-за которых для правильно настроенного клиента клиент даже не отправляет запрос на сервер.

Во-первых, установите для истечения срока действия что-нибудь разумное, например дата запроса + 1 неделя (независимо от вашего ожидаемого цикла выпуска). Затем клиенты, которые правильно следуют спецификациям для заголовков с истекшим сроком действия, вернутся через это время. Это намного проще и надежнее, чем пытаться кешировать все, что угодно при каждом развертывании.

РЕДАКТИРОВАТЬ: Я предположил, что приведенный вами пример был вашей конфигурацией. Я не хочу, чтобы это прозвучало резко, но я вижу, как люди все время делают глупости с кешированием.

3
ответ дан 3 December 2019 в 10:48

Теги

Похожие вопросы