Cookies, sessionStorage и localStorage - это механизмы веб-хранилища, отличающиеся по назначению, сроку жизни и объему хранимых данных.
Cookies: Небольшие фрагменты данных, отправляемые веб-сервером и сохраняемые на компьютере пользователя веб-браузером. Пересылаются с каждым последующим запросом к тому же серверу. Используются для аутентификации, хранения предпочтений пользователя, отслеживания состояния корзины покупок.
sessionStorage: Хранит данные только для одной сессии браузера (открытой вкладки или окна). Данные удаляются при закрытии вкладки или окна.
localStorage: Хранит данные без срока действия, до тех пор, пока они не будут явным образом удалены пользователем или сценарием. Доступен во всех вкладках и окнах одного и того же домена.
Вот краткое сравнение:
| Механизм | Срок жизни | Доступность | Отправляется серверу | Объем (типичный) | Назначение |
|---|---|---|---|---|---|
| Cookies | Сессионный или с истечением срока | Через HTTP-заголовки | Да | ~4 KB | Аутентификация, отслеживание, предпочтения |
| sessionStorage | До закрытия вкладки/окна | Через JS API | Нет | ~5-10 MB | Временное хранение данных сессии |
| localStorage | Постоянный (до удаления) | Через JS API | Нет | ~5-10 MB | Долгосрочное хранение данных |
Примеры использования JavaScript API:
javascript