Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
4.1.3
-
None
-
None
-
Linux, Glassfish 2ur1, SUN JDK 1.6.0_04
Description
In AssetService the following assumption is made:
/**
- Time vended assets expire. Since a change in asset content is a change in asset URI, we want
- them to not expire ... but a year will do.
*/
final long _expireTime = _startupTime + 365 * 24 * 60 * 60 * 1000L;
However, this is not entirely true. A change in asset is not always a change in asset URI. This is especially the case for static assets, such as tapestry's core.js or dojo.js. When you upgrade to a new tapestry release, customers always have problems with this. Most of the problems can be solved by having users delete their browser cache, but in large corporate networks with lots of proxies and firewalls things can get more complicated.
Suggested fix:
For static assets, the expire header should not be used.