Выбор ответа Senior Клиент-сервер и DevTools обновлено
Пользователь видит чужие данные
Вопрос
Изредка после входа пользователь видит в профиле чужое имя. Воспроизвести напрямую не удаётся. Какая гипотеза самая вероятная и как её проверить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ответ профиля закешировал CDN или прокси: проверить Cache-Control и Vary. Персональные ответы должны идти с Cache-Control: private или no-store, иначе общий кеш отдаст ответ одного пользователя другому.
Варианты ответа
- Пользователь перепутал аккаунты на общем устройстве, это не баг продукта
- Ошибка вёрстки: блок профиля берёт имя из шаблона, надо проверить CSS
- Ответ профиля закешировал CDN или прокси: проверить
Cache-ControlиVaryправильный ответ - Медленный интернет: страница показала имя до того, как пришли новые данные
Разбор
Персональные ответы должны идти с Cache-Control: private или no-store, иначе общий кеш отдаст ответ одного пользователя другому. Это редкий, плавающий и очень опасный дефект, утечка персональных данных. Проверяют заголовки в Network и заголовки CDN вроде X-Cache: HIT. Списывать на пользователя нельзя без проверки. Вёрстка не подставит чужое имя, а скорость сети не меняет содержимое ответа.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Клиент-сервер и DevTools»
- 401 и 403
- Классы статусов
- Copy as cURL
- Ошибка CORS в консоли
- Disable cache
- Классы кодов ответа
- Клиент-серверная архитектура
- HAR-файл