comparison xml/ru/docs/http/ngx_http_slice_module.xml @ 1616:9e8ec9c67cf3

Documented ngx_http_slice_module.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 08 Dec 2015 18:53:15 +0300
parents
children 51e1c73cc027
comparison
equal deleted inserted replaced
1615:a1531068d436 1616:9e8ec9c67cf3
1 <?xml version="1.0"?>
2
3 <!--
4 Copyright (C) Nginx, Inc.
5 -->
6
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8
9 <module name="Модуль ngx_http_slice_module"
10 link="/ru/docs/http/ngx_http_slice_module.html"
11 lang="ru"
12 rev="1">
13
14 <section id="summary">
15
16 <para>
17 Модуль <literal>ngx_http_slice_module</literal> (1.9.8) — это фильтр,
18 который разбивает запрос на подзапросы,
19 каждый из которых возвращает определённый диапазон ответа.
20 Фильтр обеспечивает более эффективное кэширование больших ответов.
21 </para>
22
23 <para>
24 По умолчанию этот модуль не собирается, его сборку необходимо
25 разрешить с помощью конфигурационного параметра
26 <literal>--with-http_slice_module</literal>.
27 </para>
28
29 </section>
30
31
32 <section id="example" name="Пример конфигурации">
33
34 <para>
35 <example>
36 location / {
37 <emphasis>slice</emphasis> 1m;
38 proxy_cache cache;
39 proxy_cache_key $uri$is_args$args<emphasis>$slice_range</emphasis>;
40 proxy_set_header Range <emphasis>$slice_range</emphasis>;
41 proxy_cache_valid 200 206 1h;
42 proxy_pass http://localhost:8000;
43 }
44 </example>
45 В данном примере
46 ответ разбивается на кэшируемые фрагменты размером в 1 мегабайт.
47 </para>
48 </section>
49
50
51 <section id="directives" name="Директивы">
52
53 <directive name="slice">
54 <syntax><literal>размер</literal></syntax>
55 <default>0</default>
56 <context>http</context>
57 <context>server</context>
58 <context>location</context>
59
60 <para>
61 Задаёт <value>размер</value> фрагмента.
62 Нулевое значение запрещает разбиение ответов на фрагменты.
63 Обратите внимание, что слишком низкое значение может привести
64 к излишнему потреблению памяти
65 и открытию большого количества открытых файловых дескрипторов.
66 </para>
67
68 <para>
69 Для того, чтобы подзапрос вернул необходимый диапазон,
70 переменная <var>$slice_range</var> должна быть
71 <link doc="ngx_http_proxy_module.xml" id="proxy_set_header">передана</link> на
72 проксируемый сервер в качестве поля <literal>Range</literal> заголовка запроса.
73 Если включено
74 <link doc="ngx_http_proxy_module.xml" id="proxy_cache">кэширование</link>,
75 то необходимо добавить <var>$slice_range</var> в
76 <link doc="ngx_http_proxy_module.xml" id="proxy_cache_key">ключ
77 кэширования</link>
78 и <link doc="ngx_http_proxy_module.xml" id="proxy_cache_valid">включить</link>
79 кэширование ответов с кодом 206.
80 </para>
81
82 </directive>
83
84 </section>
85
86
87 <section id="variables" name="Встроенные переменные">
88
89 <para>
90 Модуль <literal>ngx_http_slice_module</literal>
91 поддерживает следующие встроенные переменные:
92 <list type="tag">
93
94 <tag-name id="var_slice_range"><var>$slice_range</var></tag-name>
95 <tag-desc>
96 текущий диапазон фрагмента в формате
97 <link url="https://tools.ietf.org/html/rfc7233#section-2.1">HTTP
98 byte range</link>,
99 например <literal>bytes=0-1048575</literal>.
100 </tag-desc>
101
102 </list>
103 </para>
104
105 </section>
106
107 </module>