解密ATS 4.2.3的缓存状态密码
大家都知道查询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的缓存状态密码相关推荐
- ATS 5.3.0分级缓存
本文档翻译自参考文献[1] 理解缓存分级cache hierarchies 缓存分级是由彼此能够相互通信的各级缓存组成的,ATS支持几种类型的缓存分级.所有的缓存分级都有父子缓存概念. 父缓存位于缓存 ...
- raid 物理盘缓存状态_MegaCli 监控raid状态
简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括raid卡的型号,raid的阵列类型,raid上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定 ...
- raid 物理盘缓存状态_MegaCli 监控raid状态 限戴尔服务器
MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定, ...
- LTE资源调度(4)-上行资源申请方式和BSR缓存状态报告
1.UE申请上行资源的途径 当UE需要向网侧发送数据的时候,必须要有上行RB资源,如果没有RB资源则需要先向网侧申请RB资源.UE有三种方式向网侧申请RB资源: (1)向网侧发送BSR.BSR的全称是 ...
- 【亲自验证】Navicat连接MySql提示无法加载身份验证插件“缓存_sha2_密码”?
Navicat连接MySql提示无法加载身份验证插件"缓存_sha2_密码" [1]首先登录MySql(见下图) [2]管理员身份运行CMD(见下图) [3]如图所示 [4]Nav ...
- 无状态密码管理器Heimdallr
什么是 Heimdallr ? Heimdallr 是一个无状态的密码管理器/生成器.是否厌倦了不断记住网站或应用程序的密码?是否忘记将新帐户写入密码管理器或忘记将其与另一台设备同步?Heimdall ...
- 删除电脑缓存的密码(VSCode编辑器提交代码提示: Failed to authenticate to git remote)
删除电脑缓存的密码 参考:https://jingyan.baidu.com/article/22a299b50c76e69e19376ad9.html https://blog.csdn.net/m ...
- MySQL报错:插件缓存——sha2_密码无法进行加载
使用数据库可视化端口新建连接出现:错误代码:2058 将报错信息翻译过来就是:"插件缓存--sha2_密码无法进行加载" 这是由于你的SQLyog mysql 密码加密方法变了, ...
- raid 物理盘缓存状态_CDN与其他层面缓存
一:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服务可用性,CDN 第一降低机房的使用 ...
最新文章
- centos安装软件_CentOS 8 和 Ubuntu 18.04 部分软件版本比较
- 封装+构造方法小例子
- 配置远程服务器jupyter
- 动作游戏老是卡?试试从这些方面提升流畅度
- Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别
- 位运算符取反_Java常见的运算符——位运算
- 搜狗输入法自定义短语(克制名词解释、背诵类问题)
- Flutter代码锦囊---集中管理路由与导航
- 对进程、线程和应用程序域的理解
- awk双文件互相匹配查找
- 使用node批量压缩图片
- 记一次隐藏动态库符号的探索过程
- U盘文件夹变成exe应用程序
- Pivotal任命Lionel Lim为Pivotal公司副总裁兼亚太区常务董事
- 公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》
- Apache Storm-2011
- Prometheus告警实践
- SAP SMW0 上传EXCEL模板
- 自己动手写工具(一)一个用Java8实现的内存级别的缓存
- 16位深度图用毒霸软件打开显示异常
热门文章
- 具体解释可变參数列表
- 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁...
- Android程序员眼中世界上最遥远的距离
- 九度OJ 1339:ACM (排序)
- C#中Winform程序中如何实现多维表头【不通过第三方报表程序】
- MyEclipse提示键配置、提示快捷键、提示背景色、关键字颜色、代码显示
- oracle 10g undo 管理,Oracle 10g undo表空间管理
- sqlmap使用_sqlmap从入门到精通第四章47使用EW代理导出和导入MSSQL数据
- 计算机图画大赛作品六年级,小学学生电脑绘画比赛活动方案
- python import io_详解Python IO编程