Cookies vs tokens на собеседовании системного аналитика

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Server stores session data. Cookie — opaque session ID.

Login: server creates session, returns Set-Cookie: session_id=abc123.
Subsequent requests: cookie sent automatically by browser.
Server: lookup session_id → user.

Pros:

  • Server can revoke (delete session).
  • Session data в storage (Redis), не client.
  • HttpOnly + Secure + SameSite — strong defaults.

Cons:

  • Server-side state — harder scale.
  • Need session storage (Redis cluster).
  • Cookie сообщение CSRF (mitigate с SameSite).

JWT tokens

Self-contained signed token. Stateless.

Login: server returns JWT.
Subsequent: client sends в Authorization header.
Server: verify signature → extract claims (user_id, roles).

Pros:

  • Stateless — easy scale.
  • Cross-domain (mobile + web).
  • Embedded claims — no DB lookup.

Cons:

  • Cannot revoke (until expiry).
  • Bigger чем cookie (1KB+).
  • Storage (where keep token client-side?).

Comparison

Cookies + sessions JWT
Stateless No Yes
Revocation Easy Hard
Cross-domain Hard Easy
Size Small (ID) Larger
Stuff в client No Yes (claims)
Mobile Awkward Native
Web (browser) Native Possible
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Hybrid

Most modern apps:

  • Web — cookie с session ID.
  • Mobile — JWT.
  • API third-party — OAuth tokens.

Sessions для interactive web (CSRF protection, easy revoke). JWT для APIs / mobile.

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на OWASP Authentication Cheat Sheet.


Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.