Mercurial > hg > nginx-site
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> |