Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Easy
Description
Most Airavata Django Portal CSS and JS resources that are bundled are written to files that include a hash of the file's contents. For example, the create-experiment entry point may be written to a file named create-experiment.d239a691.js. This works well for busting browser caches and ensuring that clients always get up to date static files.
However, some CSS and JS resources don't have a hash in their filename. By default these are typically getting cached by browser using freshness heuristics. But these files could be updated at any time. It would be better to use the Cache-Control header for these resources to let browsers know that they must revalidate these cached files with an ETag or Last-Modified timestamp.
For hashed static filenames, we can also instruct browsers to cache those files "forever" since we are guaranteeing that an update to their contents will result in a new filename/URL. That should provide a small performance improvement by cutting down on unnecessary requests for immutable resources.
Attachments
Issue Links
- is related to
-
AIRAVATA-3571 Checksummed build of web components so it can be cached forever
- Open