【发布时间】:2015-07-09 08:53:33
【问题描述】:
我有一个用于显示状态图像的 Sinatra 路由。虽然这个简单的解决方案有效,但我遇到了缓存问题:
get '/stream/:service/:stream_id.png' do
# Building image_url omitted
redirect image_url
end
在此处处理缓存以设置最大 TTL 的正确方法是什么?这些图像将嵌入其他网站,否则我可以直接链接到我重定向到的图像。
问题在于它会生成一个类似 site.com/image.png 的 URL,而该 URL 又会重定向到其他地方 - 但它是 site.com/image.png 被浏览器视为缓存,因此它不会检查它是否已更新。
我已经对 Cache-Control 标头进行了一些试验,但我还没有找到解决方案。
如果这种方法完全愚蠢,我愿意接受其他解决方案。
【问题讨论】:
标签: ruby caching sinatra cache-control