如果我在Rails中使用Net :: HTTP加载我网站的一部分,每次都会加载它还是会与其他页脚一起缓存?
编辑:我的意思是页脚的其余部分当前是缓存的。 Net:HTTP结果会在页脚内部呈现,也会被缓存吗?我希望每次重新加载结果。答案 0 :(得分:0)
不,Net::HTTP
不会为您缓存任何内容。您必须实现缓存,或使用为您执行缓存的gem。但是根据你对Rails的处理方式,Rails可以做到这一点 - 查看片段缓存。
答案 1 :(得分:0)
自2011年起,它看起来没有,至少不是by default。还有ruby源中net / http.rb文件中的一个段,其中包含以下代码评论说:
# The following example performs a conditional GET using the
# If-Modified-Since header. If the files has not been modified since the
# time in the header a Not Modified response will be returned. See RFC 2616
# section 9.3 for further details.
#
uri = URI('http://example.com/cached_response')
file = File.stat 'cached_response'
req = Net::HTTP::Get.new(uri)
req['If-Modified-Since'] = file.mtime.rfc2822
res = Net::HTTP.start(uri.hostname, uri.port) {|http|
http.request(req)
}
open 'cached_response', 'w' do |io|
io.write res.body
end if res.is_a?(Net::HTTPSuccess)
源文件的日期是7月9日。希望有所帮助。