返回介绍

介绍

其他

How-To

开发

模块参考

ngx_http_slice_module

发布于 2024-08-13 23:46:26 字数 3747 浏览 0 评论 0 收藏 0

ngx_http_slice_module 模块(1.9.8)是一个过滤器,它将请求拆分为子请求,每个子请求都返回一定范围的响应。该过滤器针对大响应缓存更加有效。

默认情况下不构建此模块,可在构建 nginx 时使用 --with-http_slice_module 配置参数启用。

示例配置

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;
}

在此示例中,响应被拆分为 1M 大小的可缓存切片。

指令

slice

-说明
语法slice size;
默认slice 0;
上下文http、server、location

设置切片的 size(大小)。零值禁止将响应拆分为切片。请注意,值太低可能会导致内存使用过多并打开大量文件。

为了使子请求返回所需的范围,$slice_range 变量应作为 Range 请求头字段传递给代理服务器。如果启用了缓存,则应将 $slice_range 添加到缓存键,并启用 206 状态代码的响应缓存。

内嵌变量

ngx_http_slice_module 模块支持以下内嵌变量:

  • $slice_range

    HTTP 字节范围格式的当前切片范围,例如:bytes=0-1048575

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文