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