我有http://domain/image/⟨uuid⟩/42x42/some_name.png
形式的网址。 Web服务器(nginx)配置为查找文件/some/path/image/⟨uuid⟩/thumbnail_42x42.png
,如果它不存在,则将URL发送到后端(Django via mod_wsgi),然后生成缩略图。然后后端发出302重定向到客户端请求的完全相同的URL,并认为在第二次请求时服务器会注意到缩略图文件并直接发送它。
问题是,这适用于所有浏览器吗?到目前为止,测试没有显示任何问题,但我能确定所有用户代理都会按预期解释这个吗?
更新:让我澄清意图。目前的工作原理如下:
让后端为新创建的图像服务更糟糕,原因有两个:
所以我让后端保持最短的工作时间。
Update²:我非常感谢一些RFC参考或者有很多浏览器经验的人的意见。所有这些肯定的答案都令人愉快,但它们看起来毫无根据。
答案 0 :(得分:1)
如果没有,客户端坏了。大多数客户端将遵循重定向循环,直到达到最大值。所以是的,它应该没问题,直到你的后端因任何原因没有生成缩略图。
您可以改为将网址更改为http://domain/djangoapp/generate_thumbnail,然后返回缩略图和正确的内容类型,等等
答案 1 :(得分:0)
是的,可以重新指向与之前相同的URI。