今天发现线上有个问题,线上一个图片域名,在前端已经加了CDN缓存,不落缓存,则用PHP动态实现图片缩放,但经PHP处理过的图片输出后,每次都要从后端读取,后端服务器压力瞬间增加,经分析,PHP中没有作304的处理,
HTTP的原理是这样的,每次请求到服务器后,服务端检测有没有修改,如没有修改,可以直接返回一个304的状态码,这样就用客户端的缓存了,CDN的原理就是如此,如果设置了304,就会将相应的URL进行缓存起来;
相关代码如下:
header(\"Last-Modified: \" . gmdate(\"D, d M Y H:i:s\", strtotime(\'2011-1-1\')).\" GMT\");
//输出etag头
header(\'etag:\' . md5($this->image));
header(\'Cache-Control:max-age=2592000\');echo $this->image;
本文地址:https://www.stayed.cn/item/16549
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我