PassFront
  1. PassFront
  2. База знаний
  3. DNS, WebSocket и другие протоколы

Чем cookies отличаются от localStorage с точки зрения сети?

DNS, WebSocket и другие протоколы

Cookies браузер автоматически прикрепляет к каждому HTTP-запросу своего домена, а localStorage живёт только в браузере и по сети сам не передаётся — данные оттуда в запрос добавляют вручную.

Cookies

  • Едут в заголовке Cookie на каждый запрос: серверная сессия работает «сама».
  • Атрибуты: HttpOnly — недоступна из JS (защита от угона через XSS), Secure — только HTTPS, SameSite — контроль кросс-сайтовой отправки (защита от CSRF), плюс Domain, Path и срок жизни.
  • Лимит около 4 КБ, и этот объём таскается с каждым запросом.

localStorage

  • Объём 5–10 МБ, доступ из JS, переживает перезапуск браузера; sessionStorage живёт до закрытия вкладки.
  • На сервер автоматически не уходит: токены добавляют заголовком Authorization.

Следствия для безопасности

  • Токен в HttpOnly-cookie не украсть через XSS, но нужна защита от CSRF.
  • Токен в localStorage иммунен к CSRF, но уязвим к XSS — выбор зависит от модели угроз.

Коротко для собеседования

Главное сетевое отличие: cookie браузер отправляет сам с каждым запросом, а данные из localStorage уходят на сервер, только если код явно их добавит. Отсюда выбор места для токена: HttpOnly-cookie защищает от XSS, но требует защиты от CSRF, localStorage — наоборот.

Другие вопросы раздела