gpt4 book ai didi

ruby - 将重定向缓存到 Sinatra 中的静态图像

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:52 24 4
gpt4 key购买 nike

我有一个用于显示状态图像的 Sinatra 路由。虽然这个简单的解决方案有效,但我遇到了缓存问题:

get '/stream/:service/:stream_id.png' do
# Building image_url omitted

redirect image_url
end

在此处处理缓存以设置最大 TTL 的正确方法是什么?这些图像将嵌入到其他网站上,否则我可以直接链接到我重定向到的图像。

问题是它会生成一个像 site.com/image.png 这样的 URL,它又会重定向到其他地方——但它是 site.com/image.png被浏览器认为是缓存的,所以它不会检查它是否更新。

我已经对 Cache-Control header 进行了一些试验,但我还没有找到解决方案。

如果此方法完全愚蠢,我愿意接受其他解决方案。

最佳答案

您在每个路由的基础上设置 Cache-Control:

get '/stream/:service/:stream_id.png' do
# Building image_url omitted
response['Cache-Control'] = "public, max-age=0, must-revalidate"
redirect image_url
end

关于ruby - 将重定向缓存到 Sinatra 中的静态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15350573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com