ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [apache-talk] mod_accel + cookie



On Tue, 2 Apr 2002, Sergey Rusakov wrote:

> > Скажите, а разве нельзя проверять заголовок If_Modified_Since
> > и в зависимости от этого выдать страницу или
> > статус 304
> 
> Плавали, утонули...
> Для этого нужно выдавать Last-modified. Это неплохо получается, но в
> некоторых случаях получается казус, когда с одного компа зашел сначала один
> узер, потом другой - браузер может взять уже имеющийся документ, т.к. он еще
> "свежий". Кроме того, возможны глюки с акселератором. Документ кэшируется от
> одного юзера, а  потом отдается другому без проверки If-Modified-Since.
> Во всяком случае опыты на коленке по следующей схеме дали удручающий
> результат:
> 1. Сервер без акселератора, клиент под ИЕ 5.5
> 2. Выдаем Last-Modified всегда
> 3. проверяем If-modified-Since и если этот заголовок есть и условия по
> времени выполнены, то выдаем NOT_MODIFIED и отваливаем.
> 4. Входим под одним юзером. Смотрим.
> 5. Входим другим юзером. Видим то же самое.

Что значит "входим другим юзером" ? Если это означает, что
в NT разлогинились, вошли другим юзером, запустили MSIE и ввели
юзера, как-то соответствуещего NT'ёвому юзеру, то кэши и прочее
для этого юзера будет другим.

> Резюме: Игрища на основе Last-modified + Accelerator = bug'и
> непредсказуемые. Если поведение сервера и акселератора еще можно
> предсказать, то как поведет себя клиент ???? Один выдает If-modified-since,
> другой нет. Один проверяет Last-modified, другой - нет.

NN/IE выдают IMS, если им был дан LM и не было дано указание не кэшировать.

> В общем, лучшим решением было бы если определенная кука была как бы частью
> URL. Значение этой куки довольно постоянное, для многих клиентов оно не
> изменяется месяцами. Такой контент можно было бы кэшировать. Понятно, что
> объем кэша сильно вырастет, но такая работа нужна не для всего сайта, а лишь
> для его небольшой персонафицированной части.
> 
> Делать извращенные решения тоже не хочется. Конечно, можно сделать что-то
> типа пяти rewrite + redirect + alias и т.д. и это будет работать. Но это
> потенциальный глюкодром в случае малейшего изменения конфигурации сервера. В
> этом случае лучше (т.е. проще) поставить второй (третий) бэкэнд сервер и
> делить нагрузку без кэширования.
> 
> Итак, есть ли _красивое_и_простое_ решение этой проблемы или все это плод
> моего воспаленного воображения?

http://sysoev.ru/mod_accel/readme.html#AccelCacheCookie

Директива реально применяется на www.rambler.ru/db/tv/, где
список каналов и сортировка записана в куке.
Кроме того, насколько я знаю, директива применяется на www.kaspersky.ru.
Из-за этого, собственно, у неё и появился развесистый синтаксис.

Игорь Сысоев
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                 =



 




Copyright © Lexa Software, 1996-2009.