Как использовать файлы cookie в C с Vely Framework

Как использовать файлы cookie в C с Vely Framework

26 октября 2022 г.

Что такое файлы cookie

Файлы cookie используются для хранения данных на стороне веб-клиента. Эти данные могут быть более или менее постоянными, степень которых может быть указана самим файлом cookie. Таким образом, файл cookie может храниться до завершения сеанса клиента, в течение дня, месяца или практически вечно.

Конечно, конечный пользователь всегда может удалить файлы cookie.

Файл cookie можно использовать для отслеживания того, что делает конечный пользователь, для хранения информации о сеансе, для запоминания настроек и множества других вещей.

В типичном сценарии использования сервер запрашивает у браузера сохранение файла cookie, и браузер делает это, а также предоставляет это значение при каждом последующем запросе:

Установить файл cookie

Вы можете установить файл cookie в ответе сервера. Таким образом, когда клиент запрашивает страницу с сервера, сервер отправляет заголовок Set-Cookie в ответе HTTP. В этом заголовке (среди прочего) указывается имя файла cookie и его значение. Клиент читает это и устанавливает файл cookie. Вот и все.

Получить файл cookie

Каждый раз, когда клиент отправляет запрос, он отправляет все файлы cookie, связанные с сервером, на который он отправляет запрос. Имейте в виду, что это те же файлы cookie, которые сервер отправлял клиенту до этого.

Использование файлов cookie

Временная шкала обычно выглядит следующим образом:

  1. веб-клиент (т. е. браузер) отправляет запрос на сервер,
  2. сервер отправляет страницу ответа обратно клиенту, а вместе с ней и файлы cookie, которые он ожидает от клиента,
  3. клиент теперь запрашивает страницы с сервера, и каждый раз, когда он это делает, он также отправляет файлы cookie обратно на сервер.

Это может быть понятнее на примере, таком как аутентификация сеанса:

  1. клиент отправляет имя пользователя и пароль на сервер (т. е. запрос на аутентификацию),
  2. сервер проверяет их и отправляет обратно страницу с уведомлением о том, что клиент вошел в систему, а вместе с ней и идентификатор сеанса в виде файла cookie,
  3. клиент теперь отправляет этот файл 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, а также легко удалить ее из своей системы.

:::


Также опубликовано здесь.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE