Так nginx всегда проходит через один и тот же набор фильтров для каждого запроса? - PullRequest
1 голос
/ 17 июня 2011
&ngx_http_write_filter_module,
&ngx_http_header_filter_module,
&ngx_http_chunked_filter_module,
&ngx_http_range_header_filter_module,
&ngx_http_gzip_filter_module,
&ngx_http_postpone_filter_module,
&ngx_http_ssi_filter_module,
&ngx_http_charset_filter_module,
&ngx_http_userid_filter_module,
&ngx_http_headers_filter_module,
&ngx_http_copy_filter_module,
&ngx_http_range_body_filter_module,
&ngx_http_not_modified_filter_module,

Я знаю, что модули nginx скомпилированы в двоичный файл nginx, а не динамически связаны.

Означает ли это, что все вышеупомянутые 13 фильтров будут выполняться при каждом запросе, несмотря ни на что?

1 Ответ

0 голосов
/ 10 апреля 2012

Да. Это правда. Например, ниже приведена функция init из модуля gzip. Но не беспокойтесь об этом, потому что большинство фильтров выйдут из строя рано, если они неприменимы.

static ngx_int_t ngx_http_gzip_filter_init(ngx_conf_t *cf)
{
    ngx_http_next_header_filter = ngx_http_top_header_filter;
    ngx_http_top_header_filter = ngx_http_gzip_header_filter;

    ngx_http_next_body_filter = ngx_http_top_body_filter;
    ngx_http_top_body_filter = ngx_http_gzip_body_filter;

    return NGX_OK;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...