Выбор ответа Senior Клиент-сервер и DevTools обновлено

Пользователь видит чужие данные

Вопрос

Изредка после входа пользователь видит в профиле чужое имя. Воспроизвести напрямую не удаётся. Какая гипотеза самая вероятная и как её проверить?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ответ профиля закешировал CDN или прокси: проверить Cache-Control и Vary. Персональные ответы должны идти с Cache-Control: private или no-store, иначе общий кеш отдаст ответ одного пользователя другому.

Варианты ответа

  1. Пользователь перепутал аккаунты на общем устройстве, это не баг продукта
  2. Ошибка вёрстки: блок профиля берёт имя из шаблона, надо проверить CSS
  3. Ответ профиля закешировал CDN или прокси: проверить Cache-Control и Varyправильный ответ
  4. Медленный интернет: страница показала имя до того, как пришли новые данные

Разбор

Персональные ответы должны идти с Cache-Control: private или no-store, иначе общий кеш отдаст ответ одного пользователя другому. Это редкий, плавающий и очень опасный дефект, утечка персональных данных. Проверяют заголовки в Network и заголовки CDN вроде X-Cache: HIT. Списывать на пользователя нельзя без проверки. Вёрстка не подставит чужое имя, а скорость сети не меняет содержимое ответа.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.