We are using NGINX to front end Jetty Server, serving static content is
done by NGINX and we want to disable/remove the Last-Modified Header.
The Reason why we want to disable this header is to eliminate validation
requests If-Modified-Since. The build process automatically changes the
filename of the static artefacts every when we deploy new version, so
these validation requests are not necessary.
On Thu, Mar 11, 2010 at 12:08:43PM -0500, tunggad wrote:
We are using NGINX to front end Jetty Server, serving static content is done by NGINX and we want to disable/remove the Last-Modified Header.
The Reason why we want to disable this header is to eliminate validation requests If-Modified-Since. The build process automatically changes the filename of the static artefacts every when we deploy new version, so these validation requests are not necessary.
Disabling If-Modified-Since validation:
if_modified_since off;
Removing Last-Modified header:
add_header Last-Modified "";
However, I do not see why If-Modified-Since may hinder if you generete
unique names.
sure, with or without Last-Modified header does not matter with
generating unique names for the static artifacts (js, css, images).
But setting Last-Modified header results the browsers send
if_modified_since to nginx to check freshness of the files, which are
actually unnecessary, cost server processing time.
Setting Expires Header and change name of the files are enough to ensure
that the browsers always get the fresh version at the right time. is it
right so ?
Sorry for the bump, but this didn’t fix the issue in my case.
I have static files that never change. I want to set future expires
header for them and to force the browser NOT to check if the cached
version is valid with if-modified-since conditional GET.
when I remove the Last-Modified header in nginx like Igor suggested,
Only the expires and cache-control (max-age…) get sent, but I think
the browser doesn’t even save the resource in cache (tried with both IE8
and FF3.6).
On Wed, Jan 12, 2011 at 04:12:14PM -0500, bartzy wrote:
Sorry for the bump, but this didn’t fix the issue in my case.
I have static files that never change. I want to set future expires
header for them and to force the browser NOT to check if the cached
version is valid with if-modified-since conditional GET.
Short answer: you can’t.
Long answer: browsers do whatever they want and can’t be forced to
not check cached resource. Most of the checks may be avoided with
“expires max;” directive, but not all.
when I remove the Last-Modified header in nginx like Igor suggested,
Only the expires and cache-control (max-age…) get sent, but I think
the browser doesn’t even save the resource in cache (tried with both IE8
and FF3.6).
Igor never suggested to remove Last-Modified header, he just
answered how to do it. It’s thread starter who thinks this will
help.
Maxim D.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.