Как использовать файлы cookie в C с Vely Framework
26 октября 2022 г.Что такое файлы cookie
Файлы cookie используются для хранения данных на стороне веб-клиента. Эти данные могут быть более или менее постоянными, степень которых может быть указана самим файлом cookie. Таким образом, файл cookie может храниться до завершения сеанса клиента, в течение дня, месяца или практически вечно.
Конечно, конечный пользователь всегда может удалить файлы cookie.
Файл cookie можно использовать для отслеживания того, что делает конечный пользователь, для хранения информации о сеансе, для запоминания настроек и множества других вещей.
В типичном сценарии использования сервер запрашивает у браузера сохранение файла cookie, и браузер делает это, а также предоставляет это значение при каждом последующем запросе:
Установить файл cookie
Вы можете установить файл cookie в ответе сервера. Таким образом, когда клиент запрашивает страницу с сервера, сервер отправляет заголовок Set-Cookie в ответе HTTP. В этом заголовке (среди прочего) указывается имя файла cookie и его значение. Клиент читает это и устанавливает файл cookie. Вот и все.
Получить файл cookie
Каждый раз, когда клиент отправляет запрос, он отправляет все файлы cookie, связанные с сервером, на который он отправляет запрос. Имейте в виду, что это те же файлы cookie, которые сервер отправлял клиенту до этого.
Использование файлов cookie
Временная шкала обычно выглядит следующим образом:
- веб-клиент (т. е. браузер) отправляет запрос на сервер,
- сервер отправляет страницу ответа обратно клиенту, а вместе с ней и файлы cookie, которые он ожидает от клиента,
- клиент теперь запрашивает страницы с сервера, и каждый раз, когда он это делает, он также отправляет файлы cookie обратно на сервер.
Это может быть понятнее на примере, таком как аутентификация сеанса:
- клиент отправляет имя пользователя и пароль на сервер (т. е. запрос на аутентификацию),
- сервер проверяет их и отправляет обратно страницу с уведомлением о том, что клиент вошел в систему, а вместе с ней и идентификатор сеанса в виде файла cookie,
- клиент теперь отправляет этот файл cookie обратно на сервер с каждым последующим запросом, и, поскольку этот файл cookie является идентификатором сеанса, он аутентифицирует себя на сервере.
Это всего лишь один из возможных способов использования файлов cookie. Но вы поняли суть: файл cookie содержит некоторую информацию, которая помогает отслеживать его состояние или что-то еще, что должно отслеживать приложение. В данном случае это аутентификация. Это может быть корзина. Он может отслеживать, какие статьи читает пользователь. Так много всего.
Что такое Вели
Vely — это платформа для языка программирования C, которая особенно хорошо подходит для веб-приложений. С Vely можно создавать все, от систем управления контентом до бизнес-приложений и интерактивных веб-сайтов.
Программирование с помощью Vely означает, что вы пишете декларативные операторы, для которых генерируется высокооптимизированный код C. Конечным результатом является естественная производительность и минимальная занимаемая площадь.
Файлы cookie в Vely
Чтобы установить файл cookie, используйте оператор set-cookie:
set-cookie <cookie name>=<cookie value>
[ expires <expiration> ]
[ path <path> ]
[ same-site "Lax"|"Strict"|"None" ]
[ no-http-only ]
[ secure ]
Итак, самая простая форма:
set-cookie “my_cookie” = “some value”
Когда вы напишите это, веб-браузер сохранит «некоторое значение» в виде файла cookie с именем «my_cookie».
Затем вы можете указать все остальные атрибуты файлов cookie, такие как срок действия ("expires"), путь ("path"), будь то только для HTTP или доступный для сценариев на стороне клиента ("no-http- only"), применяется ли файл cookie только к тому же сайту или нет ("тот же сайт") и работает ли он только с безопасным (https) соединением ("secure").
Итак, более сложный пример:
get-time to define cookie_exp_time month 3
char *my_cookie_val="some cookie value";
set-cookie "tasty_cookie"=my_cookie_val expires cookie_exp_time path "/" same-site "Lax"
В этом примере вы сначала получаете дату истечения срока действия, которая составляет 3 месяца. Вот когда истечет срок действия файла cookie. Его значение получается из строки, а также указываются атрибуты пути и того же сайта. Лучше указать путь с самого начала, чтобы потом не было путаницы.
Чтобы получить файл cookie от клиента, вызвавшего ваш серверный код:
get-cookie [ define ] <cookie value> = <cookie name>
Например, чтобы получить тот же набор файлов cookie, что и выше:
get-cookie define cookie_val = “tasty_cookie”
Строковая переменная cookie_val создается с помощью предложения «define», и ее значением будет «некоторое значение cookie».
Наконец, вы можете удалить файл cookie, то есть браузер удалит его, и он больше не будет возвращаться в будущих запросах:
delete-cookie <cookie name>
[ path <cookie path> ]
[ status [ define ] <status> ]
Чтобы удалить файл cookie здесь:
delete-cookie “tasty_cookie” path “/”
Чтобы быть уверенным, что файл cookie, на который вы ссылаетесь, всегда правильный, рекомендуется всегда использовать путь.
Пример файла cookie Vely
Простой пример облегчит понимание темы файлов cookie.
В этом случае в браузере отображается форма, и пользователь может ввести имя. После отправки формы это имя теперь записывается в виде файла cookie в браузере.
Затем другой веб-запрос получит этот файл cookie и отобразит его.
HTML-форма для ввода имени будет выглядеть так:
Ответ от вашего кода Vely будет таким:
И получение значения cookie позже будет выглядеть так:
Пример файла cookie Vely находится здесь — он содержит инструкции для работающего приложения.
Этот пример является частью установки Vely. После установки Vely вам не нужно будет писать код, просто следуйте инструкциям, чтобы получить пример, создать приложение и запустить его.
:::информация Обратите внимание, что Vely устанавливается со стандартными инструментами Linux, такими как apt, dnf, zypper или Pacman. Таким образом, вы можете управлять установкой Vely, а также легко удалить ее из своей системы.
:::
Также опубликовано здесь.
Оригинал