aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Moss <me@jonathanmoss.me>2016-01-20 19:58:25 -0500
committerJon Moss <me@jonathanmoss.me>2016-02-01 13:28:30 -0500
commitb3427c662e337c2a3aa8d944b0f012641e67a4bd (patch)
tree3fb3c9dd478b721a020fcb88105a814e8d533f3b
parent9aa425f75fac376ea1c268ad5196ddb2dd7ed387 (diff)
downloadrails-b3427c662e337c2a3aa8d944b0f012641e67a4bd.tar.gz
rails-b3427c662e337c2a3aa8d944b0f012641e67a4bd.tar.bz2
rails-b3427c662e337c2a3aa8d944b0f012641e67a4bd.zip
Add documentation for #17573
Fixes some parts of #23148. [ci skip]
-rw-r--r--actionpack/lib/action_dispatch/http/cache.rb8
-rw-r--r--guides/source/5_0_release_notes.md3
2 files changed, 11 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/http/cache.rb b/actionpack/lib/action_dispatch/http/cache.rb
index 0f7898a3f8..4bd727c14e 100644
--- a/actionpack/lib/action_dispatch/http/cache.rb
+++ b/actionpack/lib/action_dispatch/http/cache.rb
@@ -80,6 +80,14 @@ module ActionDispatch
set_header DATE, utc_time.httpdate
end
+ # This method allows you to set the ETag for cached content, which
+ # will be returned to the end user.
+ #
+ # By default, Action Dispatch sets all ETags to be weak.
+ # This ensures that if the content changes only semantically,
+ # the whole page doesn't have to be regenerated from scratch
+ # by the web server. With strong ETags, pages are compared
+ # byte by byte, and are regenerated only if they are not exactly equal.
def etag=(etag)
key = ActiveSupport::Cache.expand_cache_key(etag)
super %(W/"#{Digest::MD5.hexdigest(key)}")
diff --git a/guides/source/5_0_release_notes.md b/guides/source/5_0_release_notes.md
index 2650384df3..f45c8005da 100644
--- a/guides/source/5_0_release_notes.md
+++ b/guides/source/5_0_release_notes.md
@@ -253,6 +253,9 @@ Please refer to the [Changelog][action-pack] for detailed changes.
`ActionDispatch::IntegrationTest` instead.
([commit](https://github.com/rails/rails/commit/4414c5d1795e815b102571425974a8b1d46d932d))
+* Rails will only generate "weak", instead of strong ETags.
+ ([Pull Request](https://github.com/rails/rails/pull/17573))
+
Action View
-------------