does expires_in store data in server cache or is it client only?

12 views
Skip to first unread message

Andrew Roth

unread,
Jun 8, 2012, 8:25:15 PM6/8/12
to rubyonra...@googlegroups.com
Hi,

I'm having an issue with expires_in. From the docs (http://apidock.com/rails/ActionController/ConditionalGet/expires_in) it looks like it should only set a header.  However, with a simple test application I can see it storing data to cache.

class HomeController < ApplicationController
  def index
    expires_in 5.minutes, :public => true
  end
end

Results in a file like tmp/cache/AE9/880/f812f291251bb669867bae9c9d030ab7b4c0bd20 which contains the page body.  I can modify that file and see it being sent back to the client.

I'm surprised to see it storing data on the server - I thought it would just send a header.  I also see no way of invalidating the cache.  In the example above the data is cached for 5 minutes and no amount of refreshing or shift-refresh shift-ctr-refresh etc. which is supposed to ignore client caching seems to reset it.  Should it be caching like this and if so can I invalidate it?
Reply all
Reply to author
Forward
0 new messages