Mercurial > hg > nginx-site
view xml/en/docs/http/ngx_http_slice_module.xml @ 2846:fdf1464e1977
Moved banner to the external file to make partial rollout possible.
An idea is to have several banners and show them with different probability
specified by split directive in the nginx.conf
author | Sergey Budnevitch <sb@waeme.net> |
---|---|
date | Tue, 10 May 2022 18:07:27 +0400 |
parents | 4add6ae1296f |
children |
line wrap: on
line source
<?xml version="1.0"?> <!-- Copyright (C) Nginx, Inc. --> <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> <module name="Module ngx_http_slice_module" link="/en/docs/http/ngx_http_slice_module.html" lang="en" rev="3"> <section id="summary"> <para> The <literal>ngx_http_slice_module</literal> module (1.9.8) is a filter that splits a request into subrequests, each returning a certain range of response. The filter provides more effective caching of big responses. </para> <para> This module is not built by default, it should be enabled with the <literal>--with-http_slice_module</literal> configuration parameter. </para> </section> <section id="example" name="Example Configuration"> <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> In this example, the response is split into 1-megabyte cacheable slices. </para> </section> <section id="directives" name="Directives"> <directive name="slice"> <syntax><value>size</value></syntax> <default>0</default> <context>http</context> <context>server</context> <context>location</context> <para> Sets the <value>size</value> of the slice. The zero value disables splitting responses into slices. Note that a too low value may result in excessive memory usage and opening a large number of files. </para> <para> In order for a subrequest to return the required range, the <var>$slice_range</var> variable should be <link doc="ngx_http_proxy_module.xml" id="proxy_set_header">passed</link> to the proxied server as the <literal>Range</literal> request header field. If <link doc="ngx_http_proxy_module.xml" id="proxy_cache">caching</link> is enabled, <var>$slice_range</var> should be added to the <link doc="ngx_http_proxy_module.xml" id="proxy_cache_key">cache key</link> and caching of responses with 206 status code should be <link doc="ngx_http_proxy_module.xml" id="proxy_cache_valid">enabled</link>. </para> </directive> </section> <section id="variables" name="Embedded Variables"> <para> The <literal>ngx_http_slice_module</literal> module supports the following embedded variables: <list type="tag"> <tag-name id="var_slice_range"><var>$slice_range</var></tag-name> <tag-desc> the current slice range in <link url="https://datatracker.ietf.org/doc/html/rfc7233#section-2.1">HTTP byte range</link> format, for example, <literal>bytes=0-1048575</literal>. </tag-desc> </list> </para> </section> </module>