我们的PHP/MVC webapp可让用户上传图片。他们得到每个图像的链接,如:http://example.com/images/55
其中55是我们在数据库中存储的id,因此我们可以将用户与他们的图片关联起来。我们不是将图像数据存储在数据库中,而是实际存储在Amazon S3上。CDN缓存图像重定向和固定链接
当用户稍后请求此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
,或者甚至更好,直接从缓存中检索此图像。如果没有,那么构建我们的链接/重定向方案的“最佳”方式是什么?我们将制作带有许多缩略图的页面,我希望这些页面可以缓存,这样用户体验很流畅。
发送头重定向到CDN有什么意义?你仍然直接击中你的服务器?! – konsolenfreddy 2012-04-13 18:01:55
是的,但我们不提供图像内容,只是图像位置。 – Harper 2012-04-13 18:02:20
这当然是真的,但是您的整个PHP过程将由此开始。 – konsolenfreddy 2012-04-13 18:03:36