From 726530689efa492676b706495219d3c777ddc04a Mon Sep 17 00:00:00 2001 From: blahedo Date: Fri, 5 Jul 2013 23:04:25 -0400 Subject: Cleaned up wording and tags. Replaced
with
for consistency; Added note about singular/plural distinction (which was previously confusing to a Rails noob); Rephrased explanation of how form is routed to controller, again to reduce confusion; and added explanation to replace incorrect link. [ci skip] --- guides/source/asset_pipeline.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'guides/source/asset_pipeline.md') diff --git a/guides/source/asset_pipeline.md b/guides/source/asset_pipeline.md index b68c24acfd..a6e3d3b0ac 100644 --- a/guides/source/asset_pipeline.md +++ b/guides/source/asset_pipeline.md @@ -69,12 +69,12 @@ Rails' old strategy was to append a date-based query string to every asset linke The query string strategy has several disadvantages: -1. **Not all caches will reliably cache content where the filename only differs by query parameters**
+1. **Not all caches will reliably cache content where the filename only differs by 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. Fingerprinting fixes these problems by avoiding query strings, and by ensuring that filenames are consistent based on their content. -- cgit v1.2.3