ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


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


  ПРОГРАММЫ 



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












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re[2]: ngx_http_layouts_filter_module



Hi, Igor.

 По идее всё просто: ПЕРЕД страницей (после HTTP-заголовков видимо)
вставить верхний layout (неважно, что после этого будет <head>,
<html>..., всё равно ДОСТАТОЧНО нормально работает); и ПОСЛЕ страницы
вставить нижний layout.

 Мне казалось, что вся страница (не заголовки, они вроде как отдельно)
хранится в некой переменной (или в указателе, неважно). Поэтому
думалось что достаточно ПЕРЕД передачей этой переменной передать
верхний layout, а ПОСЛЕ передачи этой переменной передать нижний
layout.
 Развитие "парсить html-ку на тему поиска <html> и вставки верхнего
layout'а точно после неё" можно оставить на (далёкое) будущее.

 Было бы вкусно иметь все фичи: файлы, FastCGI, ответы некоего
http-сервера (тело опять же, без заголовков есс-но). Но файлы - это
_необходимый_ минимум :-).
 И ещё: файлы, если они будет кэшированы, должны перечитываться хотя
бы по -HUP (чтобы изменения этих файлов были подхвачены).



>> Решил попробовать сделать модуль а-ля mod_layout собственноручно,
>> в помощь таким же страждущим. Всвязи с этим необходима консультативная
>> помощь тех, кто более-менее знает внутреннее устройство nginx (если
>> такие есть кроме Игоря).
>> Вводная: модуль должен добавлять ДО и ПОСЛЕ страницы заданные куски.
>> Фичность будет уточняться по мере написания/помощи.
>> Решил использовать шаблоном ngx_http_headers_filter_module.
>> Для начала вставить вместо одного из хидеров - верхний layout,
>> заданный директивой "layout текст_его"
> ngx_http_headers_filter_module - это неудачный старт для подобной
> функциональности. В принципе, добавить такой модуль мне не сложно,
> нужно только оговорить функциональность. Я могу сделать следущее:
> тупо добавлять в конец ответа подзапрос (это может быть статический файл,
> ответ прокси или FastCGI). Никакого парсинга ответа - подзапрос будет
> после </html>, так же, как сделано на narod.ru и boom.ru (и вроде
> в соверменных браузерах вполне работает). Можно сделать такое же
> дубовое добавление перед ответом, но я не знаю, как к этому отнесутся
> бразуеры.

-- 
engineer




 




Copyright © Lexa Software, 1996-2009.