🔗 层级控制
🔗 摘要
Squid 提供了多种控制请求转发的机制。其中最重要的有 never_direct、always_direct 和 hierarchy_stoplist。它们会相互作用,并与请求的隐式特征结合,来决定请求的最终满足方式。
步骤
各种指令按此顺序评估
-
always_direct- 如果匹配为允许,则直接访问源服务器
-
never_direct- 如果匹配为允许,则在以下情况下访问父代理而不是源服务器
-
hierarchy_stoplist- 如果匹配为允许,则直接访问源服务器
-
- 确定请求是否为层级请求
- 如果是,则通过缓存摘要或 ICP 检查同级代理或父代理是否拥有该对象。如果命中,则向速度最快的命中代理请求该对象
- 访问源服务器
什么使请求成为层级请求
缓存层级的目的是最大化在同级代理中找到对象的几率,因此会应用一组启发式方法来提前判断对象是否可能被缓存。某些对象是不可缓存的,因此也不是层级请求。这些对象包括:
- 重新加载请求
- 与非 Squid ICP 对等节点进行的缓存验证
- 除
GET、HEAD或TRACE以外的 HTTP 方法的请求 - 经过身份验证的请求
类别: 知识库
导航: 站点搜索、站点页面、类别、🔼 向上