А, понял - то есть бэкенд, если захочет, может положить к кеш 404-ю страницу
вместе с http-кодом. Ну... почему бы и нет? Раз он так делает, значит, наверное,
есть причины. Тогда error_page, по идее, срабатывать не должна, а срабатывать
она будет только если в кэш нет нужного значения.
Hello!
On Tue, Sep 30, 2008 at 12:20:39PM +0000, David Mzareulyan wrote:
А как это - "хранить в мемкеше 404-е ошибки"? Кто эти ошибки
выдавать-то будет?
Там идея в том что в memcached кладётся ответ HTTP целиком, включая
строку статуса. Т.е. фактически memcached становится неотличим от
нормального бекенда, просто ещё один протокол общения (впрочем, оно и
сейчас так, только заголовков не предполагает).
Maxim Dounin
Hello!
On Tue, Sep 30, 2008 at 11:17:58AM +0000, David Mzareulyan wrote:
Всё-таки ОЧЕНЬ был бы полезен режим, при котором в мемкеш кладётся
уже готовый ответ сервера _вместе с заголовками_. То, что в cgi
называется nph-скрипты. Потребность положить туда хотя бы
Content-Type возникает постоянно.
Совсем идеальным был бы такой синтаксис:
{
set $memcached_key $uri;
memcached_nph on;
expires max;
memcached_pass host:11211;
}
То есть, nginx берёт из мемкеша ответ вместе с заголовками, но при
этом разрешается конфиге перекрыть значения нужных заголовков.
Можно пойти в английский лист рассылки и поучавствовать. Патч там
бегает.
Основаная проблема, не решённая на текущий момент - это как
поступать с 404 ошибками. Автор патча очень хочет хранить в
memcached'е 404 ошибки, но при этом иметь возможность fallback'а
если в запись в memcached'е действительно не найдена.
Maxim Dounin
p.s. Это, конечно же, не nph, ибо nph предполагает невмешательство
сервера в возвращаемые заголовки вообще. Но возможность хранения
заголовков в memcached'е, да.