Cookie и Local Storage — это два разных способа хранить данные в браузере, и они не заменяют друг друга. Cookie автоматически отправляется на сервер с каждым запросом, Local Storage остаётся на устройстве и никуда сам не двигается. Разница между ними определяет, как работают авторизация, корзина и пользовательские настройки на любом сайте.
ЭКСПЕРТИЗА №9: COOKIE И ЛОКАЛЬНОЕ ХРАНИЛИЩЕ БРАУЗЕРА
Изделие поступило на Полигон в виде двух объектов без опознавательных знаков. На первом значилось «cookie», на втором — «local storage». Оба располагались в браузере и внешне были неотличимы. Комиссия запросила сопроводительную документацию, чтобы установить, являются ли они одним изделием, двумя изделиями, или одним изделием с раздвоением.
Документация сообщила, что это два разных механизма с разным назначением, разным поведением и разным отношением к серверу. Комиссия сверилась с регламентом 1971 года, составленным для хранения данных на перфокартах. Регламент не охватывал браузеры. Комиссия внесла в протокол пометку «частично применимо» и продолжила.
Оба объекта вели себя корректно в пределах собственной компетенции. Cookie самостоятельно принял решение о маршруте следования, не согласовав его с пользователем. Local Storage остался на месте. Пользователь узнал об этом позже, из другой статьи.
Происхождение
Cookie появился как решение конкретной задачи: HTTP-протокол не помнит ничего между запросами. Каждый запрос для него первый, последний и единственный. Сервер не знает, что именно этот браузер уже заходил три минуты назад, что-то выбрал и считал себя авторизованным. Cookie был введён, чтобы передавать эту информацию обратно — вместе с каждым следующим запросом, автоматически, без напоминаний.
Комиссия попросила продемонстрировать механизм наглядно. Представьте гардеробщика, который выдаёт номерок, забывает о нём через секунду, но просит предъявлять его при каждом посещении — включая повторный вход через тридцать секунд, выход за пальто и просьбу открыть окно. Сервер работает именно так. Cookie — это номерок.
Web Storage, в который входит Local Storage, был введён позже как отдельный механизм. MDN прямо указывает: Web Storage хранит строковые пары ключ/значение на стороне клиента и является отдельным от хранилища cookie механизмом. Два объекта. Два регламента. Один браузер, которому об этом не сообщили заранее.
Маршрут cookie
Браузер автоматически прикладывает подходящие HTTP-cookie к последующим запросам к соответствующему серверу. Это не просьба и не предложение. Это штатный порядок работы. Cookie не спрашивает разрешения, не уведомляет пользователя и не составляет список исключений. Он просто следует туда, куда идёт запрос.
Комиссия установила, что именно это свойство делает cookie инструментом авторизации, сессий и отслеживания. Сервер получает cookie, опознаёт пользователя и продолжает разговор, как если бы он его помнил. Технически он его не помнит. Cookie помнит за него.
Комиссия предложила считать этот процесс «автоматической явкой». Предложение занесено в протокол под пунктом «терминология, допущенная к использованию внутри здания».
Поведение Local Storage
Local Storage устроен иначе. Данные остаются в браузере. На сервер они не отправляются, к HTTP-запросам не прикладываются, по маршрутам не следуют. Хранилище сидит на месте и ждёт, пока к нему обратятся явно — через JavaScript, напрямую, с конкретным запросом.
Комиссия вызвала Local Storage на собеседование и попросила объяснить, почему он не участвует в сетевом обмене. Local Storage не явился. Его данные остались в браузере. Это и был ответ.
Практически это означает: настройки темы интерфейса, черновик незаконченной формы, состояние фильтров на странице — всё это живёт в Local Storage и никуда не движется. Сервер об этом не знает. Сервер об этом не спрашивал.
Формат данных
Оба механизма работают со строками. Cookie хранит пару имя/значение. Local Storage хранит пару ключ/значение. Разница — в том, кто получает эти данные и когда.
Комиссия попробовала записать в Local Storage число. Local Storage принял его в виде строки, не предупредив об изменении формата. Комиссия внесла это в протокол под заголовком «молчаливое преобразование» и перешла к следующему пункту.
Объект, массив и булево значение проходят тот же путь: сначала они превращаются в строку, потом хранятся, потом при извлечении их нужно превращать обратно. Хранилище этим не занимается. Этим занимается тот, кто положил данные и забыл об этом правиле, — обычно в пятницу вечером.
Срок действия
У cookie есть срок. Он может быть задан явно, и тогда cookie исчезает по расписанию. Может не задаваться — тогда cookie живёт до закрытия браузера и исчезает вместе с сессией. Комиссия зафиксировала, что cookie, не получивший инструкций, принимает решение самостоятельно.
Local Storage срока не имеет. Данные остаются до тех пор, пока их не удалят явно — через код, через настройки браузера или через кнопку «очистить данные сайта», которую пользователь нажимает, когда что-то пошло не так и причина неизвестна. После нажатия Local Storage пуст. Причина по-прежнему неизвестна.
Комиссия попросила Local Storage уточнить политику хранения. Local Storage вернул строку. Это была последняя строка, которую в него записали.
Область видимости
Cookie привязан к домену и пути. Его видит сервер на этом домене. Разные поддомены, разные пути — разные правила доступа, прописанные при создании cookie.
Local Storage привязан к источнику: протокол, домен, порт. Два разных порта на одном домене — два разных хранилища, которые друг о друге не знают и познакомиться не стремятся. Комиссия квалифицировала это как «организованное соседство без общения» и покинула раздел.
ВЫВОД ЭКСПЕРТА: Cookie и Local Storage — это два отдельных механизма хранения данных в браузере с разным назначением. Cookie автоматически отправляется браузером на сервер при каждом HTTP-запросе к соответствующему домену, что делает его основным инструментом для сессий и авторизации. Local Storage хранит строковые пары ключ/значение исключительно на стороне клиента и в HTTP-запросах не участвует. При выборе между ними нужно ответить на один вопрос: нужны ли эти данные серверу. Если да — cookie. Если данные нужны только в браузере — Local Storage.
Комиссия завершила экспертизу, опечатала оба объекта и направила итоговый протокол на согласование. При отправке выяснилось, что форма для загрузки протокола требует авторизации. Авторизация хранилась в cookie. Cookie истёк в 17:00.
Браузер автоматически приложит подходящий cookie к запросу, а local storage сам этого не сделает.
Данные на 10.09.2026
Вопросы и ответы
cookie и local storage в чём разница
Cookie отправляется браузером на сервер автоматически при каждом запросе. Local Storage хранит данные только на стороне клиента и на сервер самостоятельно не передаётся.
где хранятся cookie
Cookie хранятся в браузере и привязаны к домену. При обращении к этому домену браузер автоматически добавляет подходящие cookie к HTTP-запросу.
что такое local storage
Local Storage — это механизм Web Storage, который хранит строковые пары ключ/значение в браузере на стороне клиента. Он не связан с cookie и не участвует в HTTP-запросах.
когда использовать cookie а когда local storage
Cookie используют, когда данные нужны серверу — например, для авторизации или сессий. Local Storage подходит для данных, которые нужны только в браузере: настройки интерфейса, черновики, состояние форм.

