mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-21 02:00:25 +08:00
93 lines
2.3 KiB
Markdown
93 lines
2.3 KiB
Markdown
|
|
# HTTP缓存配置
|
|||
|
|
## 定义
|
|||
|
|
~~~json
|
|||
|
|
{
|
|||
|
|
"isPrior": "是否覆盖上级配置",
|
|||
|
|
"isOn": "是否启用配置",
|
|||
|
|
"addStatusHeader": "是否增加命中状态Header(X-Cache)",
|
|||
|
|
"addAgeHeader": "是否增加Age Header",
|
|||
|
|
"enableCacheControlMaxAge": "是否支持Cache-Control: max-age=...",
|
|||
|
|
"disablePolicyRefs": "是否停用策略中定义的条件",
|
|||
|
|
"purgeIsOn": "是否允许使用Purge方法清理",
|
|||
|
|
"purgeKey": "Purge时使用的X-Edge-Purge-Key",
|
|||
|
|
"stale": "陈旧缓存使用策略",
|
|||
|
|
"cacheRefs": ["缓存条件1", "缓存条件2", ...]
|
|||
|
|
}
|
|||
|
|
~~~
|
|||
|
|
其中:
|
|||
|
|
* `缓存条件` - 参考 {json:http_cache_ref}
|
|||
|
|
|
|||
|
|
## 示例
|
|||
|
|
### 无缓存条件
|
|||
|
|
~~~json
|
|||
|
|
{
|
|||
|
|
"isPrior": true,
|
|||
|
|
"isOn": true,
|
|||
|
|
"addStatusHeader": true,
|
|||
|
|
"addAgeHeader": true,
|
|||
|
|
"enableCacheControlMaxAge": true,
|
|||
|
|
"disablePolicyRefs": false,
|
|||
|
|
"purgeIsOn": false,
|
|||
|
|
"purgeKey": "",
|
|||
|
|
"stale": null,
|
|||
|
|
"cacheRefs": []
|
|||
|
|
}
|
|||
|
|
~~~
|
|||
|
|
|
|||
|
|
### 加入缓存条件
|
|||
|
|
~~~json
|
|||
|
|
{
|
|||
|
|
"isPrior": true,
|
|||
|
|
"isOn": true,
|
|||
|
|
"addStatusHeader": true,
|
|||
|
|
"addAgeHeader": true,
|
|||
|
|
"enableCacheControlMaxAge": true,
|
|||
|
|
"disablePolicyRefs": false,
|
|||
|
|
"purgeIsOn": false,
|
|||
|
|
"purgeKey": "",
|
|||
|
|
"stale": null,
|
|||
|
|
"cacheRefs": [
|
|||
|
|
{
|
|||
|
|
"id": 0,
|
|||
|
|
"isOn": true,
|
|||
|
|
"key": "${scheme}://${host}${requestPath}${isArgs}${args}",
|
|||
|
|
"life": {"count": 2, "unit": "hour"},
|
|||
|
|
"status": [200],
|
|||
|
|
"maxSize": {"count": 32, "unit": "mb"},
|
|||
|
|
"minSize": {"count": 0, "unit": "kb"},
|
|||
|
|
"skipCacheControlValues": ["private", "no-cache", "no-store"],
|
|||
|
|
"skipSetCookie": true,
|
|||
|
|
"enableRequestCachePragma": false,
|
|||
|
|
"conds": {
|
|||
|
|
"isOn": true,
|
|||
|
|
"connector": "or",
|
|||
|
|
"groups": [
|
|||
|
|
{
|
|||
|
|
"isOn": true,
|
|||
|
|
"connector": "and",
|
|||
|
|
"conds": [
|
|||
|
|
{
|
|||
|
|
"type": "url-extension",
|
|||
|
|
"isRequest": true,
|
|||
|
|
"param": "${requestPathExtension}",
|
|||
|
|
"operator": "in",
|
|||
|
|
"value": "[\".css\",\".png\",\".js\",\".woff2\"]",
|
|||
|
|
"isReverse": false,
|
|||
|
|
"isCaseInsensitive": false,
|
|||
|
|
"typeName": "URL扩展名"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"isReverse": false,
|
|||
|
|
"description": ""
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
"allowChunkedEncoding": true,
|
|||
|
|
"allowPartialContent": false,
|
|||
|
|
"isReverse": false,
|
|||
|
|
"methods": []
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
~~~
|