搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

Learn More

Cache control through htaccess

more options

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.'''

所有回覆 (1)

more options

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/