Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

[apache-talk] Re: [apache-rus] mod_accel и данные изменяемые ПХП



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@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.