现在无论是”使用动态地址调用头像",还是“静态地址调用头像”,dz和uc都把最终头像调用变成了http(s)方式对图片的直接访问,而大部分站长并没有在nginx/apache/iis上配置图片类文件的缓存控制策略,这样会导致图片的缓存策略完全由浏览器控制。

这导致头像更新后不刷新,或者说不知道什么时候刷新。

本PR在”使用动态地址调用头像"时,当前登录用户的头像请求后面,加入了ts=1这一参数,从而使得本人头像不使用301重定向到一个带有图片最后修改时间的URL,这样修改后即可刷新。而对于其它用户头像,沿用原来的301重定向和缓存策略。其代价是,对于当前登录用户的头像,每次刷新多了一次对uc_server/avatar.php的调用。

对于追求性能、会配置图片缓存策略的站长,可继续使用“静态地址调用头像”

感谢 @obsess 的建议