ATS日志格式中的Squid-和Netscape-格式的缓存结果码

2024-03-18 15:32

本文主要是介绍ATS日志格式中的Squid-和Netscape-格式的缓存结果码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在ATS日志中我们经常遇到形形色色的缓存结果码,为了更清晰地认识它们,我将官网的相关资料整理到这里:
下面的表描述了Squid和Netscape日志文件中的缓存结果码:
TCP_HIT
请求对象的一份合法拷贝被缓存,ATS将发送该对象给client
TCP_MISS
请求对象未缓存,ATS会从源站或是父代理那里获取请求对象,并发送给client
TCP_REFRESH_HIT
请求对象已缓存,但是旧的(stale),ATS向源站发送if-modified-since请求,源站回应304 not-modified响应,ATS发送(依然fresh的)缓存对象给client
TCP_REF_FAIL_HIT
请求对象已缓存,但是旧的(stale),ATS向源站发送if-modified-since请求但是源站没有响应,ATS发送缓存的旧对象给client
TCP_REFRESH_MISS
请求对象已缓存,但是旧的(stale),ATS向源站发送if-modified-since请求,源站回应一个新对象,ATS缓存后将该对象返回给client
TCP_CLIENT_REFRESH
client发送一个带有no-cache的请求,ATS回源得到一个请求对象将拷贝返回给client,ATS从缓存中删除该对象的copy
TCP_IMS_HIT
client发送一个if-modified-since的请求,缓存对象比IMS date新,或者ATS向源站发送if-modified-since请求发现缓存对象是新的,ATS将该缓存对象返回给client
TCP_IMS_MISS
client发送一个if-modified-since的请求,缓存对象要么未缓存,要么缓存了但是stale了,ATS向源站发送if-modified-since请求并接收到一个新对象,ATS缓存后将该对象 返回给client
TCP_SWAPFAIL
对象已缓存但是不能访问,client未能收到该object
ERR_CLIENT_ABORT
客户端在未完整接收object前断开连接
ERR_CONNECT_FAIL
源站不可达
ERR_DNS_FAIL
DNS服务器不能解析源站域名,或是DNS不可达
ERR_INVALID_REQ
client发送的HTTP请求非法,ATS不知道使用何方法转发该请求到源站
ERR_READ_TIMEOUT
源站在超时时间内没有响应ATS
ERR_PROXY_DENIED
client服务被拒
ERR_UNKNOWN
客户端建连了,但随后又断开了,没有发送任何请求


参考文献
[1].https://docs.trafficserver.apache.org/en/latest/admin/working-log-files.en.html#squid-and-netscape-format-cache-result-codes

这篇关于ATS日志格式中的Squid-和Netscape-格式的缓存结果码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在

PHP APC缓存函数使用教程

APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。(Linux APC扩展安装) 系统缓存 它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存 3600s(一小时)。但是这样仍会浪费大量C

一步一步将PlantUML类图导出为自定义格式的XMI文件

一步一步将PlantUML类图导出为自定义格式的XMI文件 说明: 首次发表日期:2024-09-08PlantUML官网: https://plantuml.com/zh/PlantUML命令行文档: https://plantuml.com/zh/command-line#6a26f548831e6a8cPlantUML XMI文档: https://plantuml.com/zh/xmi