We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Cache control through htaccess

Tried this on a live site with a large image of name like something-welding-something.png

<IfModule mod_headers.c>

   <FilesMatch "welding">
       Header set Cache-Control "max-age=30, public"
   </FilesMatch>

</IfModule>

How do I prove it works? What am I doing wrong?

In Firefox enter yourdomainurl into the url box. Display webpage.

Open Firefox dev window go to network tab and filter by welding

On webpage hit <Ctrl-F5> network traffic shows image fetched from server.

Open another browser tab and look at about:cache?storage=disk Find the image and the expiry time is 30s past last modified time.

On webpage hit <Ctrl-R> network traffic shows cached. On webpage hit <Ctrl-R> nothing appears in network traffic!! On webpage hit <Ctrl-R> nothing appears in network traffic!! Wait, hit <Ctrl-R> again still But on the about:cache page the Last Modified time is now after the Expires time!

Enter some other domain (e.g. bbc.co.uk) into the url box instead of yourdomainurl.

Wait 30 seconds and then re-enter yourdomainurl (do not use back button). Network traffic for image shows cached. The expiry time now shows No expiration time.

Tried this on a live site with a large image of name like something-welding-something.png <IfModule mod_headers.c> <FilesMatch "welding"> Header set Cache-Control "max-age=30, public" </FilesMatch> </IfModule> How do I prove it works? What am I doing wrong? In Firefox enter ''yourdomainurl'' into the url box. Display webpage. Open Firefox dev window go to network tab and filter by ''welding'' On webpage hit <Ctrl-F5> network traffic shows image fetched from server. Open another browser tab and look at about:cache?storage=disk Find the image and the expiry time is 30s past last modified time. On webpage hit <Ctrl-R> network traffic shows cached. On webpage hit <Ctrl-R> '''nothing appears in network traffic!!''' On webpage hit <Ctrl-R> '''nothing appears in network traffic!!''' Wait, hit <Ctrl-R> again still '''But on the about:cache page the Last Modified time is now after the Expires time!''' Enter some other domain (e.g. bbc.co.uk) into the url box instead of yourdomainurl. Wait 30 seconds and then re-enter yourdomainurl (do not use back button). Network traffic for image shows cached. '''The expiry time now shows No expiration time.'''

All Replies (1)

If a cached resource has expired, it is strange that reloading doesn't at least ping the server to see whether the resource has been updated.

I don't know whether that is intentional or accidental.

Maybe someone else knows why that would be.

Alternately, if this causes a problem, you could submit a bug report on https://bugzilla.mozilla.org/