解密ATS 4.2.3的缓存状态密码

2024-03-18 15:38
文章标签 解密 密码 状态 缓存 ats 4.2

本文主要是介绍解密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的缓存状态密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/822813

相关文章

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn