Réponses:
Le serveur envoie ce qui suit dans son en-tête de réponse pour définir un champ de cookie.
Set-Cookie:
valeur du nom=
S'il y a un cookie, le navigateur envoie ce qui suit dans son en-tête de demande.
Cookie:
valeur du nom=
Voir l' article sur les cookies HTTP sur Wikipedia pour plus d'informations.
Les cookies sont transmis en tant qu'en-têtes HTTP, à la fois dans la demande (client -> serveur) et dans la réponse (serveur -> client).
Outre ce qu'il est écrit dans d'autres réponses, d'autres détails liés au chemin du cookie, à l'âge maximal du cookie, qu'il soit sécurisé ou non, sont également transmis dans l'en-tête de réponse Set-Cookie. Par exemple:
Set-Cookie:
=
valeur du nom [ ; expires=
date ] [ ; domain=
domaine ] [ ; path=
chemin d'accès ] [ ; secure
]
Cependant, tous ces détails ne sont pas renvoyés au serveur par le client lors de la prochaine requête HTTP.
Vous pouvez également définir un HttpOnly
indicateur à la fin de votre cookie, pour indiquer que votre cookie est httponly et ne doit pas être accessible, dans les scripts par code javascript. Cela aide à prévenir les attaques telles que le détournement de session.
Pour plus d'informations, voir RFC 2109 . Jetez également un œil à l'article de Nicholas C. Zakas, les cookies HTTP expliqués .
créer un exemple de script comme resp:
#!/bin/bash
http_code=200
mime=text/html
echo -e "HTTP/1.1 $http_code OK\r"
echo "Content-type: $mime"
echo
echo "Set-Cookie: name=F"
puis rendez exécutable et exécutez comme ceci.
./resp | nc -l -p 12346
ouvrez le navigateur et parcourez l'URL: http: // localhost: 1236, vous verrez la valeur du cookie qui est envoyée par le navigateur
[aaa @ bbbbbbbb] $ ./resp | nc -l -p 12346 GET / HTTP / 1.1 Hôte: xxx.xxx.xxx.xxx:12346 Connexion: garder en vie Cache-Control: max-age = 0 Accepter: texte / html, application / xhtml + xml, application / xml; q = 0,9, image / webp, * / *; q = 0,8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 49.0.2623.112 Safari / 537.36 Accept-Encoding: gzip, dégonfler, sdch Accept-Language: en-US, en; q = 0,8, ru; q = 0,6 Cookie: nom = F