Введение в куки в Django
Cookie (куки) - небольшая пара «имя - значение», которую сервер просит браузер запомнить. В отличие от сессии, само значение лежит у клиента: на диске или в памяти браузера, а не на сервере.
Как это работает по шагам.
Сервер в HTTP-ответе отправляет
заголовок Set-Cookie:
имя, значение и при необходимости
срок жизни, путь, флаги безопасности.
Браузер сохраняет куку у себя.
При следующих запросах к тому же
сайту браузер сам добавляет
заголовок Cookie и
перечисляет подходящие куки.
Сервер читает их из запроса и
может по ним понять, например,
язык интерфейса или тему оформления.
Куки видны пользователю (их можно смотреть и менять в инструментах браузера), поэтому в них не кладут секреты в открытом виде. Для данных, которые должны оставаться на сервере, удобнее сессия: в cookie тогда обычно только идентификатор сессии.
В Django установка и чтение
разделены: куку записывают в
объект ответа (браузер получит
Set-Cookie), а читают
из объекта запроса - из словаря
уже присланных кук. В следующих
уроках разберем это на коде.
Откройте инструменты разработчика в браузере и найдите список cookie для вашего сайта. Какие имена уже есть (например cookie сессии)?
Своими словами опишите разницу между cookie и сессией: где хранятся данные и что видит браузер.