Работа с headers

Igor Sysoev is at rambler-co.ru
Wed Jul 18 18:48:06 MSD 2007


On Wed, Jul 18, 2007 at 04:04:43PM +0400, Denis Erygin wrote:

> Как редактировать заголовки в handler-модулях?
> 
> Например, заменить "Сonnection: keep-alive" на "Connection: close".
> 
> Если пролистать r->headers_out.headers, то там нет ни одного заголовка,
> хотя они есть в выводе браузеру, например если от браузера пришел
> "Connection: keep-alive", то он отдается без изменений обратно, хотя
> в r->headers_out.headers не присутствует.
> 
> h = ngx_list_push(&r->headers_out.headers);
> if (h) {
>       h->hash       = 1;
>       h->key.len    = sizeof("Connection") - 1;
>       h->key.data   = (u_char*)"Connection";
>       h->value.len  = sizeof("close") - 1;
>       h->value.data = (u_char*)"close";
> }
> 
> Код выше просто добавляет заголовок в конец,
> так как же перехватывать/редактировать все, отдаваемые браузеру,
> заголовки?

Некоторые заголовки не выставляются явно. В частности,
"Connection: close" выдаётся в ngx_http_header_filter_module,
если не установлен r->keepalive.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list