diff options
author | Robin Dupret <robin.dupret@gmail.com> | 2014-07-18 11:51:36 +0200 |
---|---|---|
committer | Robin Dupret <robin.dupret@gmail.com> | 2014-07-18 12:29:54 +0200 |
commit | ba9fe6cf90c12e3f81861e795b1c7299c3315b74 (patch) | |
tree | 2d99e07c3be1115335132f2cc7b492e5ffa4434c /guides | |
parent | e44cb39663ad672c80aafa3615dd0d61148c2077 (diff) | |
download | rails-ba9fe6cf90c12e3f81861e795b1c7299c3315b74.tar.gz rails-ba9fe6cf90c12e3f81861e795b1c7299c3315b74.tar.bz2 rails-ba9fe6cf90c12e3f81861e795b1c7299c3315b74.zip |
Follow-up to #16097 [ci skip]
Even if this is not exactly the same, let's add a new-line character
instead of two spaces. While it's specified in the Markdown specs that
adding spaces at the end of the line creates a break-line tag, this is
a brittle approach as people may remove them saving the file on certain
editors.
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/asset_pipeline.md | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/guides/source/asset_pipeline.md b/guides/source/asset_pipeline.md index 84cda9222e..dd018c0da8 100644 --- a/guides/source/asset_pipeline.md +++ b/guides/source/asset_pipeline.md @@ -124,19 +124,22 @@ with a built-in helper. In the source the generated code looked like this: The query string strategy has several disadvantages: 1. **Not all caches will reliably cache content where the filename only differs by -query parameters** +query parameters** + [Steve Souders recommends](http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/), "...avoiding a querystring for cacheable resources". He found that in this case 5-20% of requests will not be cached. Query strings in particular do not work at all with some CDNs for cache invalidation. -2. **The file name can change between nodes in multi-server environments.** +2. **The file name can change between nodes in multi-server environments.** + The default query string in Rails 2.x is based on the modification time of the files. When assets are deployed to a cluster, there is no guarantee that the timestamps will be the same, resulting in different values being used depending on which server handles the request. -3. **Too much cache invalidation** +3. **Too much cache invalidation** + When static assets are deployed with each new release of code, the mtime (time of last modification) of _all_ these files changes, forcing all remote clients to fetch them again, even when the content of those assets has not changed. |