在ATS日志中我们经常遇到形形色色的缓存结果码,为了更清晰地认识它们,相关资料整理到这里:
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:日期 /*格式20xx-xx-xx*/; 字段2:时间 /*格式 xx:xx:xx*/; 字段3:用户向Webcache大文件缓存服务器请求资源所花费的时间 /*单位ms(毫秒)*/; 字段4:缓存服务器ip; 字段5:请求资源大小 /*单位Byte,用户向缓存服务器实际请求的资源大小*/; 字段6:用户端发起请求资源方式 /*GET方式请求*/; 字段7:用户端所请求的原url; 字段8:源站地址; 字段9:文件类型; 字段10:用户端ip地址;