ATS标准插件( 3 ) Background Fetch Plugin

原文链接:  https://www.9mblog.com/129.html

这个插件使得ATS可以直接从原始服务器上获取完整的视频资源或文件资源到缓存中。因为ATS默认情况下不缓存响应为206的资源,所以在客户端请求资源带byte-Range(http协议头中包含的字段)的时候,此插件可以让ATS缓存整个目标资源。

引用官方原文:

Using the plugin

做全局插件使用是,在plugin.config文件中进行如下设置:

background_fetch.so --config <config-file>

 

做remap插件时,在remap.config中做如下设置:

@plugin=background_fetch.so @pparam=<config-file>

Functionality

当原始服务器的响应满足一下条件时,会出发background插件获取数据:

请求是GET。

响应是206。

通过原始请求和响应可以确定响应能够被缓存。

满足上述条件时,ATS会想原始服务器再次请求刚才的数据,但这次会将range头去掉。这个操作对客户端是透明的。

为了不对服务器造成额外压力,每个url只执行一次该插件。

该插件支持从一个配置文件中获取头或ip的黑白名单。

background_fetch.so --config <config-file>

@plugin=background_fetch.so @pparam=<config-file>

 

配置文件内容如下:

include User-Agent ABCDEF

exclude User-Agent *

exclude Content-Type text

exclude X-Foo-Bar text

exclude Content-Length <1000

猜你喜欢

转载自blog.csdn.net/superbfly/article/details/80899233