论坛首页 编程语言技术论坛

为Rails页面缓存加上过期时间header

浏览 2402 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-29  

在http header里设置Expires为一个时间值,可以使浏览器在该时间内都直接使用缓存而不重新请求服务器,响应速度更快并节省流量。Rails默认没有加这个header,但只要稍微修改一下缓存filter即可使action cache生效。

 

 

class ActionController::Caching::Actions::ActionCacheFilter
  def before_with_expires_in(controller)
    should_continue = before_without_expires_in(controller)
    controller.set_expires_in(seconds) if !should_continue && (seconds = @options[:store_options][:expires_in])
    should_continue
  end
  alias_method_chain :before, :expires_in
end

class ActionController::Base
  def set_expires_in(seconds, options = {})
    expires_in(seconds, options)
  end 
end
   发表时间:2011-02-27  
学习了,挺不错的。
有一个问题想请教,
同一个url,但是参数变化了,这种方法是否有效
如http;//myurl.com/c/a?rand=1223 和 http://myurl.com/c/a?rand=3333
rand参数不起任何作用
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics