Область видимости: Cookies доступны как на стороне клиента, так и на стороне сервера. sessionStorage и localStorage доступны только на стороне клиента.
Время жизни: Для cookies время жизни устанавливается при создании (с помощью атрибута expires или max-age). Если не указано, cookie удаляется при закрытии браузера. sessionStorage хранит данные только в течение текущей сессии (до закрытия вкладки или окна браузера). localStorage хранит данные бессрочно, пока они не будут явно удалены.
Размер: Максимальный размер для cookies составляет около 4 КБ. Для sessionStorage и localStorage — от 5 МБ до 10 МБ, зависит от браузера.
Отправка с каждым запросом: Cookies автоматически отправляются с каждым HTTP-запросом к домену, для которого они установлены, что может увеличить трафик. Данные в sessionStorage и localStorage не отправляются на сервер.
Способ доступа: Доступ к cookies осуществляется через document.cookie (строка). Доступ к sessionStorage и localStorage осуществляется через соответствующие объекты с использованием методов setItem, getItem, removeItem и clear.
javascript
| Feature | cookies | sessionStorage | localStorage |
|---|---|---|---|
| Область видимости | Клиент и Сервер | Только Клиент | Только Клиент |
| Время жизни | Устанавливается при создании (expires/max-age), иначе до закрытия браузера | До закрытия вкладки/окна браузера | Бессрочно (пока не удалено явно) |
| Размер | ~4 КБ | ~5-10 МБ (зависит от браузера) | ~5-10 МБ (зависит от браузера) |
| Отправка с запросом | Да | Нет | Нет |
| Доступ | document.cookie | sessionStorage.getItem/setItem | localStorage.getItem/setItem |