0

我们的 PHP/MVC webapp 允许用户上传图片。他们为每张图片获取一个链接,例如:http://example.com/images/55其中 55 是我们存储在数据库中的 id,因此我们可以将用户与他们的图片相关联。我们没有将图像数据存储在我们的数据库中,而是实际存储在 Amazon S3 上。

当用户稍后请求这个 URL 时,我们的服务器会生成实际的 URL,并向浏览器发出header('Location: https://s3.amazonaws.com/example/media/1234')重定向,其中 1234 是 id 55 混淆的。我们设置了这个方案,这样我们就可以在后端发生变化的情况下拥有一个“永久链接”解决方案——原始 URL 只是在幕后重新映射。

使用这种方案,是否可以让客户端浏览器缓存整个过程?例如,请求http://example.com/images/55将避免完全访问我们的服务器并https://s3.amazonaws.com/example/media/1234直接请求,或者更好的是,直接从缓存中检索此图像。如果不是,那么构建我们的链接/重定向方案的“最佳”方式是什么?我们将生成包含大量缩略图的页面,我希望将这些缩略图缓存起来,以便用户体验流畅。

4

1 回答 1

1

根据我的经验,您的要求正是发生的情况。浏览器,在我的例子中是 Mac 上的 Safari 5,点击脚本 URL,被重定向到 CDN 并将图像缓存在原始脚本 URL 下......

我注意到了这一点,因为我需要相反的东西。同样的情况,但在我的情况下,用户想要更改他们的图片。上传进行得很好,但浏览器一直显示旧图像......(在继续前进之前考虑这一点)

于 2012-05-25T09:54:58.440 回答