Home  >  Article  >  Backend Development  >  How to delete cookies using Golang

How to delete cookies using Golang

PHPz
PHPzOriginal
2023-03-31 10:24:43869browse

Golang is a fast and simple programming language that has been widely used in the Internet server field in recent years. In web application development, cookies are an essential component that pass information between each HTTP request and response. But sometimes we need to delete cookies saved in the client browser in code. This article will introduce how to use Golang to delete cookies.

1. Use the http.SetCookie() method

The http package in the Go language standard library provides the http.Cookie and http.SetCookie() methods to operate Cookies. We can create a new Cookie through the http.SetCookie() method and set MaxAge to a negative number to delete the Cookie. An example is as follows:

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

where w is the http.ResponseWriter object, representing the HTTP response sent to the client. This code adds a Set-Cookie header to the response object and sets the MaxAge value to a negative number, causing the browser to delete saved cookies.

2. Use the MaxAge field in http.Cookie

In addition to using the http.SetCookie() method, we can also use the MaxAge field in http.Cookie to delete cookies. The sample code is as follows:

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

Here we create a Cookie named cookie_name and set the value of MaxAge to a negative number, which tells the browser to delete the Cookie immediately. We also set the Cookie's Value to empty and set the Cookie's Path to the root path /, which means that the Cookie can be accessed throughout the site. Finally, we set the cookie's HttpOnly property to true to ensure that the cookie can only be accessed through HTTP requests and not through JavaScript code. Finally, we send the deleted Cookie to the client through the http.SetCookie() method, completing the Cookie deletion operation.

3. Use the http.ResponseWriter.Header().Del() method

In addition to the http.SetCookie() method and the MaxAge field in http.Cookie, we can also use http. The Header().Del() method in ResponseWriter deletes the cookie. The sample code is as follows:

w.Header().Del("Set-Cookie")

Here we directly delete the Set-Cookie header and completely remove the Cookie from the HTTP response to achieve the purpose of deleting the Cookie.

Summary

In web applications, cookies are a common method of carrying data. In Golang, we can use http.Cookie and http.SetCookie() methods, http.ResponseWriter.Header().Del() method to delete Cookies. The above three methods have the same effect, and the specific usage scenarios can be selected according to actual needs.

I hope this article has provided some help for you to understand how to delete cookies.

The above is the detailed content of How to delete cookies using Golang. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn