ПРОЕКТЫ 


  АРХИВ 


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]

[apache-talk] Re: [apache-rus] =?KOI8-R?B?bW9kX2FjY2VsIMkgxMHOztnFIMnazcXO0cXN2cUg8Ojw?=


  • To: apache-talk@lists.lexa.ru
  • Subject: [apache-talk] Re: [apache-rus] mod_accel и данные изменяемые ПХП
  • From: Igor Sysoev <is@rambler-co.ru>
  • Date: Fri, 15 Feb 2002 12:03:39 +0300 (MSK)
  • In-reply-to: <200202150721.g1F7La417547@0-1.acma.rh>

On Fri, 15 Feb 2002, Andre Kataev wrote:

> Видимо мой идиотизм процветает! Но не понял как настроить кеширование при 
>поддержке РНР...:(
> Итак - имеем страничку генерящуюся через РНР. она на базу ведет предположим. 
>Обновляем базу -
> 2 варианта. 
> При написанном  в header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " 
>GMT"); - (сегодняшнее только что созданное) - все показывает правильно, но 
>ничего не кешируется. Ставим вчерашний день - все кешируется но ничего не 
>меняется. И то и другое - нехорошо.
> Вопрос - можно ли штатными настройками апача/мод_акс добится правильной 
>работы или подумать на предмет вставления функции запроса внешней процедуры, 
>которая скажет что запрос надо исполнять не из кеша? (Про _INVALIDATE знаю но 
>как то не получается ).

При минимальной настройке mod_accel

AccelCacheRoot   cache
AccelPass        /     http://backend/

будут кэшироваться только те ответы, в которых есть положительный
Expires или Cache-Control. Всегда можно запретить кэширование
с помощью AccelNoCache на уровне сервера, Location или Files.

Для того, чтобы кэшировалось что-то без Expires или Cache-Control,
нужно задать AccelDefaultExpire. Задавать его можно на уровне сервера,
Location или Files. Запретить кэширование в этом случае можно со стороны
бэкенда с помощью отрицательных Expires или Cache-Control.

Можно игнорировать Expires и Cache-Control с помощью AccelIgnoreExpires.
Можно управлять кэшированием с помощью заголовка X-Accel-Expires.

Что касается Last-Modified, то он принимается во внимание только
при активном AccelLastModifiedFactor.

В общем ручек для настройки должно хватать.
Подробно это описано в readme.html#whycached

Что касается AccelInvalidate - это для другого. Если активен
AccelIgnoreNoCache, то средствами броузера обновить закэшированый URL
не никакой возможности. Для такого обновления и сделан AccelInvalidate.
Необходимо заметить, что его использование небезопасно, поскольку
его нельзя ограничить по адресу или авторизовать. Если это критично,
лучше использовать accel-cachemgr.

> И еще. Нет ли функции "маски запроса"? Пример - пользователь ходит с куками и 
>без. у него два разных запроса к одной инфе... а у того что без куков так и 
>вовсе уникальная :( Но это наверное слишком.

Вопрос не понял. Что значит маска запроса ?

Что касается кук. Если ответ на запрос в принципе может быть закэширован (это
решение принимается ещё до соединения с бэкендом) и кэширование с учётом
кук не включено, то все куки из запроса к бэкенду вырезаются. Это можно
запретить с помощью AccelPassCookie, но в этом случае бэкенд несёт
ответственность за указание mod_accel'у чего кэшировать, а чего нет.

Какие куки кэшировать - настраивается с помощью AccelCacheCookie.

Игорь Сысоев

=============================================================================
=               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.