On this page
> Module ngx_http_slice_module
ngx_http_slice_module
模块(1.9.8)是一个过滤器,用于将请求分为多个子请求,每个子请求都返回一定范围的响应。筛选器可为大响应提供更有效的缓存。
默认情况下未构建此模块,应使用--with-http_slice_module
配置参数启用它。
Example Configuration
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;
}
在此示例中,响应被分为 1 兆字节的可缓存片。
Directives
Syntax: | slice size; |
Default: | slice 0; |
Context: | http , server , location |
设置切片的size
。零值禁用将响应拆分为片。请注意,太低的值可能会导致过多的内存使用并打开大量文件。
为了使子请求返回所需的范围,$slice_range
变量应作为Range
请求 Headers 字段输入到代理服务器passed。如果启用了caching,则应将$slice_range
添加到cache key,并且将具有 206 状态代码的响应的缓存应为enabled。
Embedded Variables
ngx_http_slice_module
模块支持以下嵌入式变量:
$slice_range
- 当前切片范围,格式为HTTP 字节范围,例如
bytes=0-1048575
。