Apache, mod_cache и бисквитки

Мисля да използвам mod_cache. Обаче страниците (генерирани от php), които искам да кеширам от Apache, обикновено съдържат името за вход на този потребител („Влезли сте като ...“). Така че не мога просто да кеширам една страница за всички потребители.

Състоянието на влизане се определя от бисквитка. Затова реших, че мога (в PHP) да включа заглавка „Vary: Cookie“ във всяка страница. Ако моето разбиране на RFC 2616 е правилно, това трябва да инструктира алгоритъма за кеширане на Apache (или който и да е друг) да кешира отделна страница за всяка отделна стойност на бисквитка, която се изпраща от потребителския агент.

Така че, ако не бъде изпратена бисквитка от браузъра (потребителят е излязъл), кешираният отговор се съхранява отделно от кеширания отговор на заявка с Cookie: state=89898XAAJ (потребителят е влязъл като „Jacob“) и това отново се запазва отделно от кеширан отговор на заявка с бисквитка: състояние=XXAIU2389 (потребителят е влязъл като „Боб“). И ако известно време по-късно потребител поиска същия URL адрес и използва Cookie: state=89898XAAJ, той получава правилната страница с „Влезли сте като Jacob“ в нея (а не другите кеширани).

Правилно ли разбирам и дали това ще работи по този начин или пропускам нещо тук?


person Jacob_1980    schedule 06.08.2011    source източник


Отговори (1)


Не съм сигурен дали подходът, който описахте, ще работи или не.

Ако не стане, можете да опитате да проверите стойността на бисквитката с условие за пренаписване и пренасочване към кеширания адрес въз основа на състоянието на потребителя и влизането.

Тази страница обсъжда пренаписването въз основа на стойността на бисквитката:

Проверете бисквитката и пренасочете с Apache

Бъди здрав,
Джо

person codewaggle    schedule 05.09.2011