Reputation: 1475
I can't get the max-age cache control to work properly, I have used expires_in that resulted in a "Cache-Control:max-age=86400, public, must-revalidate" header.
But yet, the browser still sends the request to the server, at least it is defined as "304 not modified", meaning that the ETag/If-None-Match headers works properly.
I have tested it with webrick on my localhost and on heroku, with chrome 45 and Safari.
And no, my development tools are not opened, and the "disable cache" is not checked.
I also have tried to remove the ", must_revalidate: true" of the expires_in method call.
What am I missing?
Here is the output from the network in chrome: General: Remote Address:127.0.0.1:3000 Request URL:http://localtest.me:3000/api/books Request Method:GET Status Code:304 Not Modified
Response Headers: Access-Control-Allow-Origin:* Access-Control-Request-Method:* Cache-Control:max-age=86400, public, must-revalidate Connection:Keep-Alive Date:Tue, 08 Sep 2015 13:28:01 GMT Etag:W/"1f1b2d0b822830bc74e7c47a116205be" Server:WEBrick/1.3.1 (Ruby/2.2.1/2015-02-26) X-Content-Type-Options:nosniff X-Frame-Options:SAMEORIGIN X-Request-Id:c70d4715-dcff-4558-85af-9d21556d406a X-Runtime:0.553353 X-Xss-Protection:1; mode=block
Request Headers: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 Accept-Encoding:gzip, deflate, sdch Accept-Language:en-US,en;q=0.8,fr;q=0.6,he;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Host:localtest.me:3000 If-None-Match:W/"1f1b2d0b822830bc74e7c47a116205be" Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
And here is the ruby code:
before_action :cache_control, only: [:index, :show]
def cache_control
expires_in 1.day, public: true, must_revalidate: true
end
Upvotes: 1
Views: 2282
Reputation: 1475
Well, the headers are fine, it is just a meter of how browsers treats the reload button or shortcut keys.
I found the answer here: https://stackoverflow.com/a/16510707/789658
Here are the findings in chrome:
Upvotes: 1