Я думаю об использовании mod_cache. Однако страницы (сгенерированные php), которые я хочу кэшировать с помощью Apache, обычно содержат логин этого пользователя («Вы вошли как ...»). Поэтому я не могу просто кэшировать одну страницу для всех пользователей.
Состояние входа определяется cookie. Поэтому я подумал, что мог бы (на PHP) включить заголовок «Vary: Cookie» на каждой странице. Если я правильно понимаю RFC 2616, это должно дать команду алгоритму кэширования Apache (или любому другому) кэшировать отдельную страницу для каждого отдельного значения Cookie, отправляемого пользовательским агентом.
Таким образом, если браузер не отправляет cookie (пользователь вышел из системы), кэшированный ответ хранится отдельно от кэшированного ответа на запрос с Cookie: state = 89898XAAJ (пользователь вошел как 'Jacob'), и это снова хранится отдельно от кэшированного ответа на запрос Cookie: state = XXAIU2389 (пользователь вошел как 'Bob'). И если спустя некоторое время пользователь запрашивает тот же URL-адрес и использует Cookie: state = 89898XAAJ, ему предоставляется правильная страница с надписью «Вы вошли в систему как Джейкоб» (а не с другими кэшированными).
Правильно ли мое понимание, и это сработает, или я что-то упускаю здесь?