This repository has been archived by the owner on Jun 25, 2024. It is now read-only.
Add 'Cache-Control' header for static files on S3 #57
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What issue does this PR address:
I recently did an audit on my page and noticed that the uploaded static assets on S3 do not have an efficient cache policy, which decreases the performance of a page. See the screeenshot:
How this PR fixes this issue:
I added the
Cache-Control
metadata to the uploaded static assets so AWS will add aCache-Control
header to the response of a requested static file. I selected a TTL of 1 year for the files since all static files receive a unique content hash as the file name by the Nuxt build, whereby a file would receive a new name as soon as its content changes. See here for details: https://nuxtjs.org/api/configuration-build#filenamesFurther improvements:
It might be useful to have different cache TTLs for different file types. I couldn't think of a use case but there might are some. Additionally, it could make sense to make the TTL configurable in the serverless
custom
vars. Tell me what you think :)