Читаем Журнал «Компьютерра» № 20 от 30 мая 2006 года полностью

Кроме того, нужно соблюдать осторожность с if-modified-since и e-tags, если выдача контента идет с нескольких серверов. В системе из двух хорошо сбалансированных серверов любой документ может быть запрошен одним и тем же агентом с любого из двух серверов — или с каждого (не одновременно). Это нормально. Для этого мы и выравнивали нагрузку. Однако если серверы генерируют разные e-tags или разные даты изменения документов, браузер не сможет нормально поддерживать актуальный кэш. По умолчанию e-tag генерируются с использованием индексных дескрипторов, которые на разных серверах разные. Это можно запретить с помощью следующей опции в настройках Apache:


FileETag MTime Size

Теперь Apache для генерации e-tag будет использовать только время последнего изменения и размер файла. Это, к сожалению, приводит нас к другой проблеме использования e-tag, которая тоже актуальна для if-modified-since (хоть и в меньшей степени). Поскольку e-tag зависит от времени последнего изменения, нам необходимо следить за синхронизацией. Если мы распределяем файлы по разным веб-серверам, всегда остается шанс, что на один из серверов файл попадет на секунду или две позже, чем на другой. В этом случае e-tag, сгенерированные серверами, будут отличаться. Мы можем изменить настройки так, чтобы генерировать e-tag только на основании размера файла, но это означает, что файл не обновится в браузере, если мы изменим его содержимое, а размер останется неизменным. Тоже не идеально.

Твой лучший друг кэш

Дело в том, что мы подходим к проблеме не с той стороны. Все возможные стратегии кэширования отталкиваются от того, что клиент спрашивает сервер, насколько актуальна копия, хранимая в кэше. Если бы сервер сам, без запроса, сообщал клиенту об изменениях файлов, то клиент в любой момент времени знал бы, что кэшированная копия валидна. Но веб устроен иначе — клиент запрашивает сервер, и никак иначе.

Или все же слегка иначе? Ведь перед отправкой любых JavaScript— или CSS-файлов клиент запрашивает страницу, которая на них ссылается с помощью тегов

Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

«Если», 2002 № 04
«Если», 2002 № 04

ФАНТАСТИКАЕжемесячный журналСодержание:Майк Резник. СЕКРЕТНАЯ ФЕРМА, рассказСтивен Бернс. НАДО ЖЕ, ЛЕТИТ! рассказДжеймс Ван Пелт. ИНФОМАН, рассказЖан-Клод Диньак. ОРХИДЕИ В НОЧИ, рассказБрайан Олдисс. ЗАМЕЧАТЕЛЬНЫЕ ИГРУШКИ НА ВСЁ ПРОШЛОЕ ЛЕТО, рассказВидеодром*Тема--- Андрей Вяткин. «СНОВА ЧЕРНЫЕ СИЛЫ РОЮТ МИРУ МОГИЛУ» (статья)*За кадром--- Дмитрий Байкалов. ТРИНАДЦАТЬ ЛЕТ СПУСТЯ (статья)*Рецензии*Интервью--- Владимир Хотиненко «Я БЕЗУСЛОВНО ДОВЕРЯЮ СУДЬБЕ»Леонид Кудрявцев. КУКУШОНОК, рассказДалия Трускиновская. МАРШРУТ ОККАМА, повестьЕвгений Харитонов. АТАМАНША (статья)ФактыКейдж Бейкер. СОРТИРОВКА, рассказОлег Овчинников. ПОШИВ ШУБЫ ИЗ ВАШЕГО МУТОНА, ИЛИ ТЕХНИКИ МАЛЕНЬКОЙ УФЫ (эссе)РецензииДмитрий Байкалов, Андрей Синицын. ИГРЫ БОЛЬШИХ ДЕТЕЙ (статья)Конкурс Банк идей--- Сергей Лукьяненко. ЕСЛИ ВЫ СВЯЖЕТЕСЬ ПРЯМО СЕЙЧАС…, рассказГеннадий Прашкевич. МАЛЫЙ БЕДЕКЕР ПО НФ, ИЛИ КНИГА О МНОГИХ ПРЕВОСХОДНЫХ ВЕЩАХ (продолжение эссе)КурсорPersonaliaОбложка Игоря Тарачкова к повести Далии Трускиновской «Маршрут Оккама»Иллюстрации: В. Овчинников, С. Голосов, А. Балдин, Т. Филиппова, А. Филиппов, И. Тарачков, С. Шехов

Андрей Вяткин , Брайан Олдисс , Владимир Хотиненко , Далия Трускиновская , Кейдж Бейкер

Фантастика / Научная Фантастика / Фэнтези / Ужасы и мистика / Журналы, газеты