Long Expires/max-age dates, why its suggested?

Hi, I found on many places people suggest having like 1 month or 1 year expiration dates on images. So browser cache it for long time…

BUT I would think its better to have image expiration time like 5 minutes. WHY? Because if i modiffy some image i want users to see modiffied image quickly, not have old image cached maybe weeks on their browser cache… (i know i can change image name, but i not always want to rename it)

While i set 5 minutes expiry date, i believe after this time browser asks server if that image modiffication date changed (tru last-Modiffied or etag). If image mod. date not changed, then its again served from browser cache next 5 minutes? (is that so?) So no bandwidth/performance loss, but i know people will see fresh images…? Thank you

The long expires are recommended explicitly because it is recommended that you change the file names every time the files change.

While an if-modified check won’t use bandwidth, the round trip to ask the server is really expensive for performance (and often as long as downloading the resource itself) so there is a big performance loss in that case.

If you can’t rename the images when they change there isn’t much you can do, it’s just something you should be aware of.