It is said that the web servers' clocks must be identical for the Expires
and Cache-Control
headers to work? Why is that? Can't they be off by 1 second or a few minutes?
If the cache is supposed to be good for 1 year, then won't a time difference of a few minutes or even a few hours not matter on one or some of the web servers?
In http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html
it is said that
note that in order for this [caching] to work, all your application servers must return the same timestamps. This means that they must have their clocks synchronized. If one of them drifts out of sync, you‘ll see different timestamps at random and the cache won‘t work. In that case the browser will request the same assets over and over again even thought they didn‘t change. You can use something like Live HTTP Headers for Firefox to verify that the cache is indeed working.