view xml/ru/docs/http/ngx_http_slice_module.xml @ 2769:16f6fa718be2

Updated TLSv1.3 support notes. Previous notes described some early development snapshot of OpenSSL 1.1.1 with disabled TLSv1.3 by default. It was then enabled in the first alpha. Further, the updated text covers later major releases such as OpenSSL 3.0.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 30 Sep 2021 16:29:20 +0300
parents 6299f9cabfe4
children 4add6ae1296f
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Модуль ngx_http_slice_module"
        link="/ru/docs/http/ngx_http_slice_module.html"
        lang="ru"
        rev="3">

<section id="summary">

<para>
Модуль <literal>ngx_http_slice_module</literal> (1.9.8) — это фильтр,
который разбивает запрос на подзапросы,
каждый из которых возвращает определённый диапазон ответа.
Фильтр обеспечивает более эффективное кэширование больших ответов.
</para>

<para>
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
<literal>--with-http_slice_module</literal>.
</para>

</section>


<section id="example" name="Пример конфигурации">

<para>
<example>
location / {
    <emphasis>slice</emphasis>             1m;
    proxy_cache       cache;
    proxy_cache_key   $uri$is_args$args<emphasis>$slice_range</emphasis>;
    proxy_set_header  Range <emphasis>$slice_range</emphasis>;
    proxy_cache_valid 200 206 1h;
    proxy_pass        http://localhost:8000;
}
</example>
В данном примере
ответ разбивается на кэшируемые фрагменты размером в 1 мегабайт.
</para>
</section>


<section id="directives" name="Директивы">

<directive name="slice">
<syntax><value>размер</value></syntax>
<default>0</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт <value>размер</value> фрагмента.
Нулевое значение запрещает разбиение ответов на фрагменты.
Обратите внимание, что слишком низкое значение может привести
к излишнему потреблению памяти
и открытию большого количества файлов.
</para>

<para>
Для того, чтобы подзапрос вернул необходимый диапазон,
переменная <var>$slice_range</var> должна быть
<link doc="ngx_http_proxy_module.xml" id="proxy_set_header">передана</link> на
проксируемый сервер в качестве поля <literal>Range</literal> заголовка запроса.
Если включено
<link doc="ngx_http_proxy_module.xml" id="proxy_cache">кэширование</link>,
то необходимо добавить <var>$slice_range</var> в
<link doc="ngx_http_proxy_module.xml" id="proxy_cache_key">ключ
кэширования</link>
и <link doc="ngx_http_proxy_module.xml" id="proxy_cache_valid">включить</link>
кэширование ответов с кодом 206.
</para>

</directive>

</section>


<section id="variables" name="Встроенные переменные">

<para>
Модуль <literal>ngx_http_slice_module</literal>
поддерживает следующие встроенные переменные:
<list type="tag">

<tag-name id="var_slice_range"><var>$slice_range</var></tag-name>
<tag-desc>
текущий диапазон фрагмента в формате
<link url="https://tools.ietf.org/html/rfc7233#section-2.1">HTTP
byte range</link>,
например <literal>bytes=0-1048575</literal>.
</tag-desc>

</list>
</para>

</section>

</module>