Est-il vrai que le cookie ne fonctionne qu'avec le verbe GET / POST, mais pas CONNECT?
PerlDev
5
@PerlDev Il n'y a rien que je puisse voir dans rfc2109 qui dit qu'il ne devrait pas fonctionner avec des requêtes autres que GET / POST, mais je soupçonne que les implémentations du navigateur et du serveur peuvent ne pas l'implémenter dans ces cas.
deinst
5
Notez que selon la RFC 2109 si un agent utilisateur ou un navigateur envoie plusieurs cookies, il les placera dans un seul champ délimité par des points-virgules:Cookie: name1=value1; name2=value2; ...
jotrocken
34
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).
donc dans toute demande qui est faite, tous les cookies sont-ils ipso facto envoyés?
BKSpurgeon
32
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 HttpOnlyindicateur à 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.
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.
la source
Cookie: name1=value1; name2=value2; ...
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).
la source
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 .
la source
créer un exemple de script comme resp:
puis rendez exécutable et exécutez comme ceci.
ouvrez le navigateur et parcourez l'URL: http: // localhost: 1236, vous verrez la valeur du cookie qui est envoyée par le navigateur
la source