大家都知道查询ATS缓存一个对象的缓存状态标志码,就是通过如下官方链接

http://trafficserver.apache.org/tools/via

下面我将通过命令行手动缓存资源的方法来进一步认识ATS缓存对象的状态变化,加深理解,以作整理和备忘,各位大牛敬请绕行!

开启方法:

traffic_line -s  proxy.config.http.insert_request_via_str -v 1    
traffic_line -s  proxy.config.http.insert_response_via_str -v 2  #会产生类似Via: http/1.1 localhost (ApacheTrafficServer/4.2.3 [cHs f ])的头

开始测试:

在线上服务器上通过wget或是curl手动来缓存一个文件,并研究缓存状态

首次请求得到[cMsSfW]

curl -vx 127.0.0.1:8081 -o 463238.m4a "http://cc.stream.qqmusic.qq.com/463238.m4a?vkey=EB9DCBE77D88ED0335E7566A9FA8A3681BA1A7AD4DB5545C48CDAD9610601132&guid=ffffffffbb69dc14fffffffffb7c39fa&fromtag=57"

它的含义是

第二次请求同一url,得到[cHs f ]

它的含义是

第三次请求同一url,得到[cRs f ],第四次及以后请求缓存状态码都相同

它的含义是

使用下面的命令手动清除该资源

curl -X PURGE -vx "127.0.0.1:8081" "http://cc.stream.qqmusic.qq.com/463238.m4a?vkey=EB9DCBE77D88ED0335E7566A9FA8A3681BA1A7AD4DB5545C48CDAD9610601132&guid=ffffffffbb69dc14fffffffffb7c39fa&fromtag=57"

得到缓存状态码[cRs f ],它的含义同上,再删除一次,得到[c s f ],

它的含义是

如果我们直接访问一个具有防盗链的资源,我们得到[cMsSf ]

curl -vx 127.0.0.1:8081 -o 463238.m4a "http://cc.stream.qqmusic.qq.com/463238.m4a"

它的含义是

如果我们启用cacheurl模块,并访问同一资源的另一个动态链接,

curl -vx 127.0.0.1:8081 -o 463238.m4a "http://cc.stream.qqmusic.qq.com/463238.m4a?vkey=A3710A40FB1D1DC4A2D4ECB34DFFDFD63DAC8D5FEC53833D651DB9E0F4CBB346&guid=00000000327ec818ffffffffbfdeefc7&fromtag=57"

我们仍然得到[cRs f ],含义同上

另外补充几种异常:

服务器回源超时得到[cMsEf ],

它的含义是

当使用正则刷新插件regex_revalidate来请求待刷新的url时,我得到缓存状态[cMsSf ],

它的含义是

当我去请求qqmusic上的一个文件时,我得到了下面的响应码[cSsNfU]

它的含义,我现在改用traffic_via工具获取如下

进一步发现有下面的日志

它的含义是

它的含义如下

综合上面各种场景,我得到如下状态码

(ApacheTrafficServer/4.2.3 [cMsSfW])

(ApacheTrafficServer/5.3.0 [cMsSf ])

(ApacheTrafficServer/5.3.0 [cSsNfU])

(ApacheTrafficServer/5.3.0 [cSsSfD])
(ApacheTrafficServer/4.2.3 [cHs f ])
(ApacheTrafficServer/4.2.3 [cRs f ])
(ApacheTrafficServer/4.2.3 [c s f ])
(ApacheTrafficServer/4.2.3 [cMsSf ])

(ApacheTrafficServer/4.2.3 [cMsEf ])

(ApacheTrafficServer/6.2.1 [cSsNfD])

(ApacheTrafficServer/6.2.1 [c sSf ])

使用一个状态机示意图如下:

解密ATS 4.2.3的缓存状态密码相关推荐

  1. ATS 5.3.0分级缓存

    本文档翻译自参考文献[1] 理解缓存分级cache hierarchies 缓存分级是由彼此能够相互通信的各级缓存组成的,ATS支持几种类型的缓存分级.所有的缓存分级都有父子缓存概念. 父缓存位于缓存 ...

  2. raid 物理盘缓存状态_MegaCli 监控raid状态

    简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括raid卡的型号,raid的阵列类型,raid上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定 ...

  3. raid 物理盘缓存状态_MegaCli 监控raid状态 限戴尔服务器

    MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定, ...

  4. LTE资源调度(4)-上行资源申请方式和BSR缓存状态报告

    1.UE申请上行资源的途径 当UE需要向网侧发送数据的时候,必须要有上行RB资源,如果没有RB资源则需要先向网侧申请RB资源.UE有三种方式向网侧申请RB资源: (1)向网侧发送BSR.BSR的全称是 ...

  5. 【亲自验证】Navicat连接MySql提示无法加载身份验证插件“缓存_sha2_密码”?

    Navicat连接MySql提示无法加载身份验证插件"缓存_sha2_密码" [1]首先登录MySql(见下图) [2]管理员身份运行CMD(见下图) [3]如图所示 [4]Nav ...

  6. 无状态密码管理器Heimdallr

    什么是 Heimdallr ? Heimdallr 是一个无状态的密码管理器/生成器.是否厌倦了不断记住网站或应用程序的密码?是否忘记将新帐户写入密码管理器或忘记将其与另一台设备同步?Heimdall ...

  7. 删除电脑缓存的密码(VSCode编辑器提交代码提示: Failed to authenticate to git remote)

    删除电脑缓存的密码 参考:https://jingyan.baidu.com/article/22a299b50c76e69e19376ad9.html https://blog.csdn.net/m ...

  8. MySQL报错:插件缓存——sha2_密码无法进行加载

    使用数据库可视化端口新建连接出现:错误代码:2058 将报错信息翻译过来就是:"插件缓存--sha2_密码无法进行加载" 这是由于你的SQLyog  mysql 密码加密方法变了, ...

  9. raid 物理盘缓存状态_CDN与其他层面缓存

    一:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服务可用性,CDN 第一降低机房的使用 ...

最新文章

  1. centos安装软件_CentOS 8 和 Ubuntu 18.04 部分软件版本比较
  2. 封装+构造方法小例子
  3. 配置远程服务器jupyter
  4. 动作游戏老是卡?试试从这些方面提升流畅度
  5. Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别
  6. 位运算符取反_Java常见的运算符——位运算
  7. 搜狗输入法自定义短语(克制名词解释、背诵类问题)
  8. Flutter代码锦囊---集中管理路由与导航
  9. 对进程、线程和应用程序域的理解
  10. awk双文件互相匹配查找
  11. 使用node批量压缩图片
  12. 记一次隐藏动态库符号的探索过程
  13. U盘文件夹变成exe应用程序
  14. Pivotal任命Lionel Lim为Pivotal公司副总裁兼亚太区常务董事
  15. 公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》
  16. Apache Storm-2011
  17. Prometheus告警实践
  18. SAP SMW0 上传EXCEL模板
  19. 自己动手写工具(一)一个用Java8实现的内存级别的缓存
  20. 16位深度图用毒霸软件打开显示异常

热门文章

  1. 具体解释可变參数列表
  2. 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁...
  3. Android程序员眼中世界上最遥远的距离
  4. 九度OJ 1339:ACM (排序)
  5. C#中Winform程序中如何实现多维表头【不通过第三方报表程序】
  6. MyEclipse提示键配置、提示快捷键、提示背景色、关键字颜色、代码显示
  7. oracle 10g undo 管理,Oracle 10g undo表空间管理
  8. sqlmap使用_sqlmap从入门到精通第四章47使用EW代理导出和导入MSSQL数据
  9. 计算机图画大赛作品六年级,小学学生电脑绘画比赛活动方案
  10. python import io_详解Python IO编程