Cookie
Cookie (куки) — это небольшие текстовые файлы, которые веб-сайты сохраняют на стороне клиента (вашем компьютере) для идентификации пользователя и хранения данных (обычно в зашифрованном виде).
Зачем нужны Cookie?
Интерактивные веб-приложения сталкиваются с серьезной проблемой: протокол HTTP является «без сохранения состояния» (stateless). Это означает, что сервер не знает, что пользователь делал в предыдущий момент.
Рассмотрим типичный сценарий покупок в интернете:
- Вы просматриваете несколько страниц и добавляете в корзину коробку печенья и два напитка.
- На этапе оплаты, если бы не было дополнительных средств, сервер «забыл» бы о ваших покупках из-за отсутствия памяти у протокола HTTP.
Cookie являются одним из тех самых «дополнительных средств», которые позволяют обойти отсутствие состояния в HTTP. Сервер может записывать или считывать информацию из Cookie, чтобы поддерживать состояние вашей текущей сессии.
Как это работает на практике?
В сценарии с покупками:
- Когда пользователь выбирает первый товар, сервер отправляет ему веб-страницу вместе с Cookie, в котором записана информация об этом товаре.
- При переходе на другую страницу браузер отправляет этот Cookie обратно на сервер. Теперь сервер «видит», что было куплено ранее.
- Пользователь добавляет напитки, и сервер обновляет Cookie новой информацией.
- При оформлении заказа сервер просто считывает итоговое содержимое Cookie.
Другое важное применение: Автоматический вход
Еще одно типичное использование Cookie — сохранение авторизации. При входе на сайт вы часто видите галочку «Запомнить меня» или «Автоматический вход».
- Если она отмечена, при следующем посещении сайта вам не придется вводить логин и пароль.
- Это происходит потому, что во время предыдущего входа сервер отправил на ваш диск Cookie, содержащий учетные данные (обычно зашифрованный токен).
- Если срок действия Cookie не истек, браузер отправляет его при загрузке сайта, сервер проверяет данные и мгновенно авторизует вас.
