Смотрел выступление с одной конференции на тему современного JS, где оратор, рассказывая про авторизацию на SPA, заявил, что идентификатор мы храним в localStorage, потому что "куки - это старомодный подход".
Если отбросить бредовые аргументы, что куки увеличивают заголовки, потому что прикрепляются к каждому запросу, то какие преимущества есть у localStorage?
Вот минумы localStorage перед куками я назвать могу:
1. Куки доступны на сервере
2. Куки можно легко расшарить на поддомены
3. У кук нет проблем в приватном режиме Safari
Какие преимущества и недостатки есть у localStorage и что вы используете для хранения идентификаторов?
Содержимое localStorage не передаётся на сервер. Из этого вытекает как минимум два плюса:
1. Невозможно спровоцировать его передачу при помощи CSRF.
2. В нём можно хранить гораздо больше информации и не переживать, что эта информация будет передаваться с каждым запросом и жрать исходящий трафик.
WebDev, куки - часть протокола http, который к w3c никакого отношения не имеет. И цели у них разные. Цель кук - сохранять информацию между запросами в рамках http-запросов. Цель хранилища - хранить локальные данные на клиенте.
Мне кажется под разные задачи надо использовать то или другое. Обычно использую localStorage для всплывашек, настроек и т. д. Но вот недавно понадобилось запоминать Какой город выбрал пользователь и его перебрасывало на поддомен с текущим городом. Вот для этого использовал куки. Потому что они работают с доменами и поддоменами