Как куки-файлы динамически устанавливаются на основе пользовательского ввода? - PullRequest
0 голосов
/ 08 февраля 2010

Как, например, набор cookie для корзины покупок?
Когда что-то добавляется в корзину, оно «создает» cookie, но как на следующей странице узнать, как отправить клиенту новый заголовок http с этим новым cookie?

Как куки-файлы динамически устанавливаются на основе пользовательского ввода? Эта функциональность зависит от чего-либо еще?

Я видел этот пример, но мне чего-то не хватает.

Любая помощь приветствуется, спасибо.

CGI-C

1 Ответ

3 голосов
/ 08 февраля 2010

Это типичный набор шагов.

  1. Вы отправляете HTML-форму в / add_item. Вы не отправляете заголовок Cookie.
  2. Скрипт в / add_item просматривает ваш HTTP-запрос.
  3. Он видит, что вы не отправили заголовок Cookie с вашим запросом.
  4. Создает сессию для вас. Это означает, что набор переменных (например, список товаров в вашей корзине) сопоставляется с уникальным идентификатором вашего посещения. Сессии действительно существуют только на сервере. Файл cookie - это все, что видит браузер.
  5. Добавляет элемент, добавленный вами в сеанс.
  6. Затем отправляет вывод «Элемент добавлен!» страница с заголовком Set-Cookie. Этот заголовок содержит новый идентификатор сеанса.
  7. Вы добавляете еще один товар в корзину. На этот раз вы отправляете заголовок Cookie с тем же идентификатором, который сервер дал вам ранее.
  8. Сервер видит, что у вас уже есть идентификатор сеанса, поэтому он не создает новый сеанс.
  9. Добавляет новый элемент в существующую сессию.
  10. Он отправляет новый "Товар добавлен!" страница с тем же заголовком Set-Cookie, что и раньше.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...