Перейти к основному содержимому

2.03. Cookie

Разработчику Архитектору Инженеру

★ В процессе работы сайта используется ещё одна технология – куки (Cookies) – это небольшие текстовые файлы, которые сайт сохраняет в вашем браузере, что позволяет сайтам «узнавать вас». При первом посещении сервер отправляет Set-Cookie, определяя сессию. Браузер сохраняет эти куки, и отправляет их обратно при каждом новом HTTP-запросе. Именно так сервер понимает, что все запросы идут от вашего имени.

image-9.png

То есть:

  • Открыв сайт, вы встретите технологию входа (авторизацию) – это будет началом сеанса;
  • Затем вы введёте логин, пароль и отправите на сервер;
  • Сервер проведёт аутентификацию (проверку) и выдаст «куки» - временные служебные данные, определяющие сессию;
  • Сессия – тот самый сеанс, период работы пользователя после авторизации, от своего имени;
  • Браузер сохраняет куки и отправляет их каждый раз, в дополнение к своему запросу;
  • Если сессия будет завершена (по истечению времени или когда будет команда для завершения – «Выйти»), куки будут уже недействительны;
  • При попытке продолжения сеанса, сервер будет знать, что эти запросы уже не имеют полномочий, и будет отклонять, требуя авторизации.

Куки бывают сессионные и постоянные, которые могут храниться месяцы и годы («Запомнить меня»).

Есть ещё одна технология, которую чуть ранее мы уже затрагивали – кеширование. Это использование хранилища, которое позволит не отправлять запросы за вспомогательными элементами каждый раз. Допустим, действительно, зачем каждый раз скачивать одно и то же изображение, если вы его уже на компьютер скачали? Ведь можно отображать его же? Так и работает механизм кеша в браузере. Если данные не изменились, браузер берёт HTML, CSS, JS, изображения и прочую информацию из локального кеша. К кешу относятся и DNS-записи, чтобы и IP каждый раз не запрашивать. Файлы имеют свой хеш (мы это помним с прошлых глав), и браузер проверяет хеш каждого файла, чтобы убедиться, совпадает ли он. Если совпадает – обновление не требуется, и всё работает быстрее. Пример – при повторном посещении сайта CSS и шрифты грузятся мгновенно – они уже в кеше.