Maison  >  Article  >  développement back-end  >  Comment supprimer les cookies avec Golang

Comment supprimer les cookies avec Golang

PHPz
PHPzoriginal
2023-03-31 10:24:43869parcourir

Golang est un langage de programmation simple et rapide qui a été largement utilisé dans le domaine des serveurs Internet ces dernières années. Dans le développement d'applications Web, les cookies sont un composant essentiel qui transmet des informations entre chaque requête et réponse HTTP. Mais parfois, nous devons supprimer les cookies enregistrés dans le navigateur client dans le code. Cet article explique comment utiliser Golang pour supprimer les cookies.

1. Utilisez la méthode http.SetCookie()

Le package http de la bibliothèque standard du langage Go fournit les méthodes http.Cookie et http.SetCookie() pour faire fonctionner les cookies. Nous pouvons créer un nouveau cookie via la méthode http.SetCookie() et définir MaxAge sur un nombre négatif pour supprimer le cookie. Un exemple est le suivant :

http.SetCookie(w, &http.Cookie{
    Name:   "cookie_name",
    MaxAge: -1, // MaxAge为负数将Cookie删除
})

w est l'objet http.ResponseWriter, représentant la réponse HTTP envoyée au client. Ce code ajoute un en-tête Set-Cookie à l'objet de réponse et définit la valeur MaxAge sur un nombre négatif, ce qui oblige le navigateur à supprimer les cookies enregistrés. w 是 http.ResponseWriter 对象,代表着发送给客户端的 HTTP 响应。这段代码会在响应对象中添加一个 Set-Cookie 头,并将 MaxAge 值设置成负数,从而让浏览器删除保存的 Cookie。

2. 使用 http.Cookie 中的 MaxAge 字段

除了使用 http.SetCookie() 方法,我们还可以使用 http.Cookie 中的 MaxAge 字段来删除 Cookie。示例代码如下:

deleteCookie := &http.Cookie{
    Name:     "cookie_name",
    Value:    "",
    Path:     "/",
    MaxAge:   -1,
    HttpOnly: true,
}
http.SetCookie(w, deleteCookie)

这里我们创建了一个名为 cookie_name 的 Cookie,将 MaxAge 的值设置成负数,表示告诉浏览器立即删除 Cookie。我们还将 Cookie 的 Value 置为空,将 Cookie 的 Path 设置成根路径/

2. Utilisez le champ MaxAge dans http.Cookie

En plus d'utiliser la méthode http.SetCookie(), nous pouvons également utiliser le champ MaxAge dans http.Cookie pour supprimer les cookies. L'exemple de code est le suivant :

w.Header().Del("Set-Cookie")
Ici, nous créons un cookie nommé cookie_name et définissons la valeur de MaxAge sur un nombre négatif, ce qui indique au navigateur de supprimer le cookie immédiatement. Nous définissons également la valeur du cookie sur vide et définissons le chemin du cookie sur le chemin racine /, ce qui signifie que le cookie est accessible sur tout le site. Enfin, nous définissons la propriété HttpOnly du cookie sur true pour garantir que le cookie n'est accessible que via des requêtes HTTP et non via du code JavaScript. Enfin, nous envoyons le Cookie supprimé au client via la méthode http.SetCookie(), complétant ainsi l'opération de suppression du Cookie.

3. Utilisez la méthode http.ResponseWriter.Header().Del()

En plus de la méthode http.SetCookie() et du champ MaxAge dans http.Cookie, nous pouvons également utiliser la méthode Header().Del dans La méthode http.ResponseWriter() supprime les cookies. L'exemple de code est le suivant :

rrreee

Ici, nous supprimons directement l'en-tête Set-Cookie et supprimons complètement le Cookie de la réponse HTTP pour atteindre l'objectif de suppression du Cookie.

Résumé🎜🎜Dans les applications Web, les cookies sont une méthode courante de transport de données. Dans Golang, nous pouvons utiliser les méthodes http.Cookie et http.SetCookie(), la méthode http.ResponseWriter.Header().Del() pour supprimer les cookies. Les trois méthodes ci-dessus ont le même effet et les scénarios d'utilisation spécifiques peuvent être sélectionnés en fonction des besoins réels. 🎜🎜J'espère que cet article vous a aidé à comprendre comment supprimer les cookies. 🎜

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