Invalidate cache for static files?

Denis Arh denis at
Mon Jul 21 19:01:16 MSD 2008

Would it help moving them into a different folder instead of appending  
query string?

Sent from my iPhone

On 21.7.2008, at 16:55, Tit Petric <black at> wrote:

> Maxim Dounin wrote:
>> Hello!
>> On Mon, Jul 21, 2008 at 01:57:06PM +0100, Phillip B Oldham wrote:
>>> What would be the simplest way to invalidate browser cache of  
>>> static  files served by nginx?
>>> For instance, we have a website which is in active development. We  
>>> get a  reasonable amount of traffic, but we often get complaints  
>>> when we update  the live files because some browsers are working  
>>> with a mix of fresh  (live) and stale (cached) js/css files. We'd  
>>> like to inform/force  browsers that the file is new and should be  
>>> updated.
>> Just use normal web development practices, e.g. add "?v=<version>"
>> to js/css urls.  Nothing special, nginx is just web server.
> I've tried this before, it is problematic since cache doesn't behave  
> correctly and in some cases browsers or even caching proxies in  
> front of backend servers never cache the resource, because they  
> percieve the link as dynamic.
> Having unique urls, like I suggested in the previous email, solves  
> theese problems. Also, you can then set the Expires & Cache-control  
> headers for static content far in the future and encourage browser  
> caching, since you have an effective method of always reloading them  
> without fail. Caches and browsers will keep such objects, while the  
> suggested sollution with the "?v=version" will not be cached on many  
> of them, since they percieve the url as dynamic and always try a  
> reload, ignoring possible Expires & Cache-control headers.
> For a small setup, where you don't care about resources, your  
> sollution is mostly fine, but is problematic in the real world with  
> tens of thousands of users.
> BR

More information about the nginx mailing list