Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cache busting #31

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

andrewsnowden
Copy link
Contributor

Option that appends file hashes as query strings to static URLs. This forces a refetch if the content changes even if the expiry header has been set far into the future.

Webassets does this for scripts and stylesheets (http://webassets.readthedocs.org/en/latest/expiring.html) but there isn't anything that does it for images.

@eriktaubeneck
Copy link
Collaborator

hey @andrewsnowden sorry for the delay in reviewing this (and the other) PR(s).

One concern I see here is when images are intentionally left out of the repository, uploaded to S3, from a single machine, and not necessarily on all production machines. We may actually want to do this initial reading and hashing from S3, and not locally.

Additionally, we may want to actually update the filename, so for example (very roughly)

url_for('static', 'foo.jpg') > hashes['foo.jpg'] > s3.amazon.com/bucket/foo-3j4kjl.jpg

or if it hasn't been hashed yet,

url_for('static', 'foo.jpg') > hash('foo.jpg') > boto.upload('foo-slk43d.jpg') > s3.amazon.com/bucket/foo-slk43d.jpg

any thoughts on this type of approach?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants