On Thu, 29 Aug 2002, Dmitry Belyavsky wrote:
> > > > Имеем frontend с mod_accel, backend, отдающий при отдаче кук заголовки
> > > > методом $r->no_cache. Запросы залипают в локальном кеше браузеров, из-за
> > > > чего при неоднократном повторе операций login/logout в какой-то момент
> > > > браузер перестает обращаться к апачу.
> > > >
> > > > Можно ли это вылечить малой кровью?
> > >
> > > Подумав нал ситуацией, понял, что произошло.
> > >
> > > Раньше (до прикрутки mod_accel) у нас проблем с кешированием не было,
> > > поскольку мы по умолчанию отдавали
> > > Pragma: no-cache
> > > Которые честно процессятся браузером, то есть в браузерном кеше
> > > документы не остаются.
> >
> > Ну, в принципе, можно делать это и сейчас - mod_accel игнорирует
> > Pragma: no-cache от бэкенда. А что, браузеры его понимают ?
>
> Похоже, да. Правильно ли я понимаю, что при этом должно быть что-то
> вроде
>
> AccelIgnoreExpires on
> AccelIgnoreNoCache on
Вообще-то "Pragma: no-cache" от сервера не описана ни в одном стандарте
и я не знаю, как на неё реагируют браузеры.
AccelIgnoreExpires on игнорирует "Cache-Control: no-cache/max-age=#" и
Expires от сервера.
AccelIgnoreNoCache on игнорирует "Cache-Control: no-cache/max-age=#" и
"Pragma: no-cache" от клиента.
X-Accel-Expires никогда не игнорируется mod_accel'ом, если контент,
конечно, изначально был кэшируем.
> > А что с Host: ?
>
> Весь защищенный бинарный контент у нас живет в общем пространстве URL.
> Раньше мы при запросе url через не тот Host делали redirect - сейчас
> запрос кешируется, если последовательно обратиться через правильный и
> неправильный Host, и отдает запрос из кеша.
Ситуация несколько прояснилась, но не понятно, как работает защита -
зачем ипользуется Host.
Для защиты запаролированого контента в mod_accel есть директива
AccelRevalidateUser, но скажу сразу, что она только тестировалась
в лабараторных условиях и нигде в продакшене не использовалась.
Игорь Сысоев
http://sysoev.ru
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =