mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
[ci skip] docs can URL cache invalidation
This commit is contained in:
parent
8c2b3c9178
commit
fa704ed6f4
1 changed files with 24 additions and 0 deletions
|
@ -1094,6 +1094,30 @@ asset for up to a year. Since most CDNs also cache headers of the request, this
|
||||||
the browser then knows that it can store this asset for a very long time before
|
the browser then knows that it can store this asset for a very long time before
|
||||||
needing to re-request it.
|
needing to re-request it.
|
||||||
|
|
||||||
|
##### CDNs and URL based Cache Invalidation
|
||||||
|
|
||||||
|
Most CDNs will cache contents of an asset based on the complete URL. This means
|
||||||
|
that a request to
|
||||||
|
|
||||||
|
```
|
||||||
|
http://mycdnsubdomain.fictional-cdn.com/assets/smile-123.png
|
||||||
|
```
|
||||||
|
|
||||||
|
Will be a completely different cache from
|
||||||
|
|
||||||
|
```
|
||||||
|
http://mycdnsubdomain.fictional-cdn.com/assets/smile.png
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to set far future `max-age` in your `Cache-Control` (and you do).
|
||||||
|
Then make sure when you change your assets that your cache is invalidated. For
|
||||||
|
example when changing the smiley face in an image from yellow to blue, you want
|
||||||
|
all visitors of your site to get the new blue face. When using a CDN with a the
|
||||||
|
Rails asset pipeline `config.assets.digest` is set to true by default so that
|
||||||
|
each asset will have a different file name when it is changed. This way you
|
||||||
|
don't have to ever manually invalidate any items in your cache. By using a
|
||||||
|
different unique asset name instead, your users get the latest asset.
|
||||||
|
|
||||||
Customizing the Pipeline
|
Customizing the Pipeline
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue