Сравнение
| Cookie | localStorage | sessionStorage |
|---|
| Размер | ~4 KB | ~5 MB | ~5 MB |
| Уходит на сервер | да (автоматически) | нет | нет |
| Срок | Expires/Max-Age / сессия | пока не удалят | вкладка/сессия |
| Доступ из JS | да, если не HttpOnly | да | да |
| API | document.cookie / заголовки | setItem/getItem | то же |
| Область | по Domain/Path | origin | origin + вкладка |
Когда что
- cookie — сессия/авторизация для HTTP;
- localStorage — устойчивые клиентские настройки, кэш мелочей;
- sessionStorage — одноразовое состояние вкладки (мастер форм, draft на время визита).
Чувствительные токены в localStorage уязвимы к XSS — для session чаще HttpOnly cookie.