Skip to content

Cookie

Cookie (куки) — это небольшие текстовые файлы, которые веб-сайты сохраняют на стороне клиента (вашем компьютере) для идентификации пользователя и хранения данных (обычно в зашифрованном виде).

Интерактивные веб-приложения сталкиваются с серьезной проблемой: протокол HTTP является «без сохранения состояния» (stateless). Это означает, что сервер не знает, что пользователь делал в предыдущий момент.

Рассмотрим типичный сценарий покупок в интернете:

  1. Вы просматриваете несколько страниц и добавляете в корзину коробку печенья и два напитка.
  2. На этапе оплаты, если бы не было дополнительных средств, сервер «забыл» бы о ваших покупках из-за отсутствия памяти у протокола HTTP.

Cookie являются одним из тех самых «дополнительных средств», которые позволяют обойти отсутствие состояния в HTTP. Сервер может записывать или считывать информацию из Cookie, чтобы поддерживать состояние вашей текущей сессии.

Как это работает на практике?

В сценарии с покупками:

  • Когда пользователь выбирает первый товар, сервер отправляет ему веб-страницу вместе с Cookie, в котором записана информация об этом товаре.
  • При переходе на другую страницу браузер отправляет этот Cookie обратно на сервер. Теперь сервер «видит», что было куплено ранее.
  • Пользователь добавляет напитки, и сервер обновляет Cookie новой информацией.
  • При оформлении заказа сервер просто считывает итоговое содержимое Cookie.

Другое важное применение: Автоматический вход

Еще одно типичное использование Cookie — сохранение авторизации. При входе на сайт вы часто видите галочку «Запомнить меня» или «Автоматический вход».

  • Если она отмечена, при следующем посещении сайта вам не придется вводить логин и пароль.
  • Это происходит потому, что во время предыдущего входа сервер отправил на ваш диск Cookie, содержащий учетные данные (обычно зашифрованный токен).
  • Если срок действия Cookie не истек, браузер отправляет его при загрузке сайта, сервер проверяет данные и мгновенно авторизует вас.