ngx_http_layouts_filter_module

Anton Maksimenkov engineer at hlebprom.ru
Thu Feb 16 15:18:13 MSK 2006


Hi, Igor.

>> По идее всё просто: ПЕРЕД страницей (после HTTP-заголовков видимо)
>> вставить верхний layout (неважно, что после этого будет <head>,
>> <html>..., всё равно ДОСТАТОЧНО нормально работает); и ПОСЛЕ страницы
>> вставить нижний layout.
>>
>> Мне казалось, что вся страница (не заголовки, они вроде как отдельно)
>> хранится в некой переменной (или в указателе, неважно). Поэтому
>> думалось что достаточно ПЕРЕД передачей этой переменной передать
>> верхний layout, а ПОСЛЕ передачи этой переменной передать нижний
>> layout.
>> Развитие "парсить html-ку на тему поиска <html> и вставки верхнего
>> layout'а точно после неё" можно оставить на (далёкое) будущее.
>>
>> Было бы вкусно иметь все фичи: файлы, FastCGI, ответы некоего
>> http-сервера (тело опять же, без заголовков есс-но). Но файлы - это
>> _необходимый_ минимум :-).
>> И ещё: файлы, если они будет кэшированы, должны перечитываться хотя
>> бы по -HUP (чтобы изменения этих файлов были подхвачены).

> Мне кажется, добавлять что-то перед началом ответа в настоящее время
> не стоит - современные браузеры по разному воспринимают ответ с
> DOCTYPE и без него.

 Настоятельно просил бы оставить такую возможность, хотя бы и
"выключено по умолчанию". Кому не надо - не включат. В противном
случае вообще пропадает смысл использования - фича вроде бы и будет
(частично), а использовать ВСЁ РАВНО ПРИДЁТСЯ АПАЧ, т.к. там и сверху
и снизу есть. Маразм получится.
 Повторюсь - то, что "браузеры воспринимают", на данный момент
приемлемо. Это работает сейчас в mod_layout, и УСТРАИВАЕТ тех кто
ИСПОЛЬЗУЕТ это. А кого не устраивает/не нужно, тот не включает. Или
используют бета-фичу "вставить после <html>" (которую МОЖЕТ БЫТЬ можно
будет реализовать, ЕСЛИ на это будет желание :)).
 Короче краеугольная довольно таки вещь - ОБА layout'а (хотя бы
верхний и опционально включался бы).


> В общем, я на данный момент планирую сделать такую функциональность
> post_action:

> 1) post_action            /uri
> 2) post_action_pass_body  [on | off]
> 3) post_action_types      [text/html | */*]

> Аккаунтинг:

>     post_action             /uri;
>     post_action_pass_body   off;
>     post_action_types       */*;

> Добавление в конец ответа:

>     post_action             /uri;
>     post_action_pass_body   on;
>     post_action_types       text/html;

-- 
engineer






More information about the nginx-ru mailing list