地址后面拼了宽高参数,返回的图还是四千像素的原图,流量一点没降,手机端加载依然很慢,参数像是没生效。乍看像缓存或者权限的锅,追下去往往不是。
curl -sI 'https://img.a.com/a.jpg?w=800' | grep -i length curl -sI 'https://img.a.com/a.jpg' | grep -i length
追下去是这么回事:参数名和加速产品约定的写法不一致,或者回源时把查询串整个丢掉,处理节点没拿到指令就直接出原图,白白多花流量。
「图片缩放参数」这类改动最怕改一半,回滚脚本先准备好,再动生产。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。
具体做法是,对照产品文档确认参数名 以及参数的先后顺序;抓一次回源请求 看看查询串到底有没有带过去;确认源站那一层没有把查询参数给整个重写掉。
验收就看一点,带参数的地址返回体积明显小于原图,手机端看清晰度也可以接受。
