Maison >développement back-end >Golang >Comment définir correctement les cookies à l'aide du package net/http de Go ?

Comment définir correctement les cookies à l'aide du package net/http de Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-14 09:20:15317parcourir

How to Properly Set Cookies using Go's net/http Package?

Définition des cookies avec net/http à partir du serveur

La configuration des cookies avec le package net/http de Go s'effectue via la fonction SetCookie. Il s'agit d'une opération courante dans le développement Web et peut être essentielle pour suivre les sessions des utilisateurs, les préférences et d'autres informations.

Dans votre exemple de code, vous essayez de définir un cookie sur l'objet de requête (req.AddCookie). . Cependant, la bonne façon de définir un cookie consiste à utiliser la fonction SetCookie sur l'objet de réponse (w). Cela garantit que le cookie est envoyé dans le cadre de la réponse HTTP au client.

La fonction SetCookie prend un seul argument, qui est une structure Cookie. Cette structure contient toutes les informations nécessaires pour créer un cookie, y compris le nom, la valeur, le chemin, le domaine, l'heure d'expiration et d'autres attributs.

Par exemple, le code suivant définit un cookie nommé « test » avec un valeur de "tcookie" et un délai d'expiration d'un jour :

cookie := &http.Cookie{
    Name:    "test",
    Value:   "tcookie",
    Expires: time.Now().Add(24 * time.Hour),
    Path:    "/",
}
http.SetCookie(w, cookie)

Il est important de noter que la fonction SetCookie n'enverra pas automatiquement le cookie au client. Le cookie ne sera envoyé que si la réponse HTTP inclut l'en-tête "Set-Cookie", qui est automatiquement ajouté par http.ResponseWriter lorsqu'un cookie est défini à l'aide de la fonction SetCookie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn