2010-02-08 2 views
0

Comment, par exemple, un ensemble de cookies de panier d'achat?
Une fois que quelque chose est ajouté au panier, il "crée" le cookie, mais comment la page suivante sait-elle envoyer un nouvel en-tête http avec ce nouveau cookie au client?Comment un cookie est-il défini dynamiquement en fonction de l'entrée de l'utilisateur?

Comment un cookie est-il défini dynamiquement en fonction de l'entrée de l'utilisateur? Cette fonctionnalité dépend-elle de quelque chose d'autre? Par exemple, j'ai vu this, mais il me manque quelque chose.

Toute aide est appréciée, merci.

CGI-C

Répondre

3

Ceci est un ensemble d'étapes typique.

  1. Vous soumettez un formulaire HTML à/add_item. Vous n'envoyez aucun en-tête de cookie.
  2. Le script de/add_item examine votre requête HTTP.
  3. Il voit que vous n'avez pas envoyé un en-tête Cookie avec votre demande. Il crée un session pour vous. Cela signifie qu'un ensemble de variables (par exemple, une liste d'éléments dans votre panier) est mappé à un identifiant unique pour votre visite. Les sessions n'existent réellement que sur le serveur. Le cookie est tout ce que voit le navigateur.
  4. Il ajoute l'élément que vous avez ajouté à votre session.
  5. Il envoie ensuite la sortie de l'élément "Ajouté!" page avec un en-tête Set-Cookie. Cet en-tête contient le nouvel identifiant de session.
  6. Vous ajoutez un autre article dans votre panier. Cette fois-ci, vous envoyez un en-tête Cookie avec le même ID que celui que le serveur vous a donné auparavant.
  7. Le serveur voit que vous avez déjà un ID de session afin qu'il ne crée pas une nouvelle session.
  8. Il ajoute le nouvel élément à votre session existante.
  9. Il envoie le nouveau "Article ajouté!" page avec le même en-tête Set-Cookie que précédemment.