云服务器上图片压缩完小于200KB,但网页端却是800KB,为什么?

本文探讨了一位开发者遇到的图片大小显示不一致的问题,问题根源在于CDN缓存。CDN(内容分发网络)作为服务器缓存,其工作原理类似于代理,先从边缘节点缓存中查找数据,过期则向源站请求。HTTP的Cache-Control和max-age字段用于设置CDN数据的缓存时间。理解CDN的工作方式对于解决类似问题至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近碰到一个神奇的问题: 我把云服务器上的图片通通压缩到200KB一下,但打开网页network里显示同一张图片居然800多KB,路径什么都一样,我确认就是200KB那张图片。
前提:我已经清理了浏览器缓存,确保不是浏览器遗留图片数据。

后来发现是cdn缓存导致,相当于云服务器上有缓存文件,网页在读取图片的时候先去的缓存文件读出来,没有去服务器上读取无覆盖的新图片。

一、CDN是什么?
http是浏览器缓存, cdn是服务器缓存
例子:cdn就是代理。厂家给商家发货,你从商家买货,商家就是cdn。

二、CDN怎么缓存?
和Http类似,客户端请求数据时,先从本地缓存查找,如果被请求数据没有过期,拿过来用,如果过期,就向CDN边缘节点发起请求。CDN便会检测被请求的数据是否过期,如果没有过期,就返回数据给客户端,如果过期,CDN再向源站发送请求获取新数据。和买家买货,卖家没货,卖家再进货一个道理。
CDN边缘节点缓存机制,一般都遵守http标准协议,通过http响应头中的Cache-Control和max-age的字段来设置CDN边缘节点的数据缓存时间。

参考文章:https://www.jianshu.com/p/b5188d6dc2b3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值