Очистка кэша и кук на стороне клиента
Как часто вам приходится просить пользователей сервиса перезагрузить страничку, очистить кэш, зайти в инкогнито? В моей практике такое было слишком часто.
По-хорошему, проблему инвалидацию кэша надо решать в самом приложении, а не просить пользователя. Но не просто так на слуху золотая цитата Фила Карлтона: «В информатике всего две сложные вещи: инвалидация кэша и именование сущностей».
В HTTP-заголовках можно найти интересное:
Гарри Робертс советует делать в веб-приложениях отдельную страничку с кнопками «Очистить куки», «Очистить кэш». Так у злоумышленников будет меньше возможностей сбрасывать жертвам ссылки, которые что-то чистят без спросу, потому что можно проверять
https://csswizardry.com/2023/10/clear-cache-on-customer-device/
Как часто вам приходится просить пользователей сервиса перезагрузить страничку, очистить кэш, зайти в инкогнито? В моей практике такое было слишком часто.
По-хорошему, проблему инвалидацию кэша надо решать в самом приложении, а не просить пользователя. Но не просто так на слуху золотая цитата Фила Карлтона: «В информатике всего две сложные вещи: инвалидация кэша и именование сущностей».
В HTTP-заголовках можно найти интересное:
Clear-Site-Data: "cache", "cookies"
. Сервер может отправить на клиент заголовок, который попросит браузер почистить куки и/или кэш. Работает везде, кроме Safari. То есть вместо того, чтобы просить пользователя что-то сделать в стрессовой ситуации, когда у него что-то не работает, а он девтулзы не открывал никогда до этого, можно сделать всё самим.Гарри Робертс советует делать в веб-приложениях отдельную страничку с кнопками «Очистить куки», «Очистить кэш». Так у злоумышленников будет меньше возможностей сбрасывать жертвам ссылки, которые что-то чистят без спросу, потому что можно проверять
Referer
на сервере.https://csswizardry.com/2023/10/clear-cache-on-customer-device/