@danil_gazizov

Как организовать грамотное кеширование аватар пользователей?

Вопрос неприлично тупой. На сайте регистрируются пользователи, закачивают свои фотки, пишут посты. В каждом посте хранится id пользователя, и ссылка на фото автора генерируется как http://сайт.ру/user/<userid>/photo.png

Но здесь беда - фотки авторов конечно же, кешируются браузером. И при смене чьего-либо фото, оно конечно же, не обновится.

Вопрос в следующем - как эти вещи сделать "по уму", чтобы фотки были актуальными? Какой существует грамотный подход для решения этого вопроса?
  • Вопрос задан
  • 2496 просмотров
Пригласить эксперта
Ответы на вопрос 5
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
генерируй каждый раз уникальное имя для фото, а айдишник юзера хранить в ссылке, плохая практика.
Ответ написан
Комментировать
@Nc_Soft
Лучший вариант это уникальное имя для файла.
Вариент похуже: /user/userId/photo.png?lastModify
Ответ написан
Комментировать
@386DX
Ответ написан
Комментировать
@danil_gazizov Автор вопроса
Всё, до меня дошло!!
1. Заведу поле user.lastupdate - буду фиксировать момент последних изменений профиля.
2. При закачке новой аватарки, менять этот lasupdate = now()
3. При выдаче постов пользователя, вместе с id автора буду выдавать и user.lastupdate
4. url аватарки буду генерировать как /user/userid/photo.png?<user.lastupdate>
Ответ написан
Комментировать
vovko
@vovko
Ruby developer
danil_gazizov ещё можете держать версию картинки, вместо last_update -> version, integer который можно инкрементировать после каждого обновления, /photo.png?8
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы