ATS push cache 测试
测试 ATS 注入缓存
参考了: http://serverfault.com/questions/471684/push-content-to-apache-traffic-servers-cache
得到返回:HTTP/1.0 400 Response Not Cachable
搜索得知,头部传入信息太少,必须包含反映时间的项。那个回答应该是针对旧的 ATS 版本。
这里也有一个参考,更准确些 http://zymlinux.net/trafficserver/FAQ.html
查看官方文档中 proxy-config-http-cache-required-headers 的解释。默认值为2。
修改内容为
PUSH http://www.company.com HTTP/1.0
Content-length: 84
HTTP/1.0 200 OK
Content-type: text/html
Expires: Wed, 29 Nov 2015 07:23:09 GMT
Cache-Control: max-age=60
Content-length: 17
<HTML>
a
</HTML>
重新提交,得到返回:HTTP/1.0 400 Bad Content Length
原来增加了内容,忘了修改Content-length,修改为142,再次提交,成功了
最后整体显示:
$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
PUSH http://www.company.com HTTP/1.0
Content-length: 142
HTTP/1.0 200 OK
Content-type: text/html
Expires: Wed, 29 Nov 2015 07:23:09 GMT
Cache-Control: max-age=60
Content-length: 17
<HTML>
a
</HTML>HTTP/1.0 201 Created
Date: Fri, 11 Sep 2015 06:03:24 GMT
Server: ATS/5.3.1
Content-Length: 0
Connection closed by foreign host.
aaa@xxx:~$ </HTML>
开启http_ui,在浏览器输入 http://localhost:8080/cache/lookup_url?url=http://www.company.com
可以看到已经可以查到了。
注意两个问题:
1. request 的 url 为 http://www.company.com/,最后多了一个 ’/'。
2. size 为 11, 而不是上面的 17,最后的 "</HTML>" 没有被写入,而且返回信息直接跟在了后面。应该是前面的length 142计算错了。修改为148再换一个url push一次,OK 了。

ATS push cache 测试的更多相关文章
- HTTP/2 & Push Cache
HTTP/2 & Push Cache HTTP/2 & 推送缓存 https://caniuse.com/#search=http2 https://jakearchibald.co ...
- 测试数组push和unshift方法的效率
先贴代码,之后再来补内容 <!DOCTYPE HTML> <html> <head> <title>测试数组push和unshift方法的效率</ ...
- 个人版整理APP测试流程
2016.1.5 我的笔记 一 .APP测试基本流程 1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试 ...
- 搭建 Jest+ Enzyme 测试环境
1.为什么要使用单元测试工具? 因为代码之间的相互调用关系,又希望测试过程单元相互独立,又能正常运行,这就需要我们对被测函数的依赖函数和环境进行mock,在测试数据输入.测试执行和测试结果检查方面存在 ...
- 了解iOS消息推送一文就够:史上最全iOS Push技术详解
本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...
- Mybatis Cache 缓存策略
Mybatis Cache 缓存策略 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用 ...
- Android不刷机下的app2sd方法(dex cache占空间解决篇)
抱着5年的HTC G7这个古董,一直没有想法去换换. 近期微信.支付宝什么的apk应用都開始走程序巨型化,一次性就来个50MB的空间占用,让还是Android 2.2的手机怎样吃的消? 看看100多M ...
- Guava 工具类之Cache的使用
一.guava cache 介绍 1.介绍 guava cache是Google guava中提供的一款轻量级的本地缓存组件,其特点是简单.轻便.完善.扩展性强,内存管理机制也相对完善. 2.使用缓存 ...
- APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发
APP专项测试要点 兼容性测试 安装,卸载,升级 交叉事件 PUSH消息推送测试 性能测试 其他类型 兼容性测试 手机型号 系统版本 安卓 (版本4.4开始兼容) IOS(版本9.x开始兼容) 屏幕尺 ...
随机推荐
- cmd编译java代码为什么总是说找不到main方法;请园子里大神指点迷津!!!
编写源代码如下: cmd,编译路径:E: cd Notepad cd src javac Character.java jvav Character 运行结果: 实在是找不到问题点,请评论区给予指导啊 ...
- 20201124-web方向-命令执行-RCE
参考链接:https://www.cnblogs.com/wangtanzhi/p/12311239.html RCE: 英文全称:remote command / code execcute 分别为 ...
- java开发三年,Java中接口的使用你得知道,不然你凭什么涨薪
接口概述: 接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8), ...
- Ubuntu无法telnet
1.Ubuntu无法telnet的原因 (1)/etc/hosts被修改过 (2)防火墙没有关闭 (3)没有安装相关服务 (4)/etc/inetd.conf文件没有telnet相关内容 2.解决办法 ...
- python应用(1):安装与使用
程序员的基本工作是写程序,而写程序要用到编程语言,编程语言可以分为编译型语言跟解释型语言. 编译型语言,就是在执行代码之前,先把源代码编译(加链接)成另一种形式的代码,比如目标代码,或字节码,这种代码 ...
- day97:MoFang:移动端APP开发准备&移动端项目搭建&APICloud前端框架
目录 1.移动端开发相关概念 1.APP类型 2.移动端屏幕介绍 3.移动端自适配方案 4.元信息(meta) 2.APP开发准备 1.注册APPCLoud账号 2.下载APP开发编辑器 3.下载AP ...
- vulnhub: DC 9
信息收集: root@kali:/opt/test# nmap -A -v 192.168.76.137 Starting Nmap 7.80 ( https://nmap.org ) at 2020 ...
- 知识解析:C语言函数有一些什么?为你呈现最全函数大全
大家双节快乐呀~国庆节过去了一半,大家放了几天假呀?玩的开心吗? 如果假日没有其他安排,不要宅在家虚度光阴哦~看看我的文章或者视频学习一些知识吧~ 今天为大家分享C语言库函数知识. 以下图片以字母 ...
- java实验作业类的定义与描述
1 //1三角形的定义与描述 2 package test; 3 4 public class sjx { 5 private double a,b,c; 6 7 public sjx(double ...
- 如何在word中插入代码
本文使用的是word2007,在网上查阅资料,可以使用如下方法: 1. 插入一个1行1列的表格,然后将代码写在里面,完成之后选中表格: 2. 将样式改为"HTML代码". 其实只是 ...