Slice#

El módulo es un filtro que divide una solicitud en subsolicitudes, cada una devolviendo un rango específico de la respuesta. Este filtro permite un almacenamiento en caché más eficiente de respuestas grandes.

Cuando se compila desde el código fuente <sourcebuild>, este módulo no se incluye por defecto; debe habilitarse con la opción de compilación ‑‑with‑http_slice_module opción de compilación.

En paquetes e imágenes de Instalación, el módulo está incluido en la compilación.

Ejemplo de configuración#

location / {
    slice             1m;
    proxy_cache       cache;
    proxy_cache_key   $uri$is_args$args$slice_range;
    proxy_set_header  Range $slice_range;
    proxy_cache_valid 200 206 1h;
    proxy_pass        http://localhost:8000;
}

En este ejemplo, la respuesta se divide en fragmentos almacenables en caché de 1 MB.

Directivas#

slice#

Sintaxis

slice size;

Predeterminado

slice 0;

Contexto

http, server, location

Establece el tamaño del fragmento. El valor cero desactiva la división de respuestas en fragmentos.

Advertencia

Tenga en cuenta que un valor demasiado bajo puede resultar en un uso excesivo de memoria y la apertura de un gran número de archivos.

Para que una subsolicitud devuelva el rango requerido, la variable $slice_range debe pasarse al servidor proxy como el encabezado Range. Si el almacenamiento en caché está habilitado, $slice_range debe añadirse a la clave de caché y debe habilitarse el almacenamiento en caché de respuestas con código de estado 206.

Variables incorporadas#

$slice_range#

El rango de fragmento actual en formato de rango de bytes HTTP <https://datatracker.ietf.org/doc/html/rfc7233#section-2.1>, por ejemplo, bytes=0-1048575.