1. 程式人生 > 實用技巧 >gin操作cookie

gin操作cookie

每次訪問網頁都會攜帶cookie,預設肯定會攜帶Cookie: gin_cookie=test

//如果客戶端沒有cookie,則第一次訪問,沒有cookie,即err非nil
//然後建立一個cookie給客戶端 (響應cookie),下次訪問攜帶
cookie, err := context.Cookie("www")
if err != nil {
      //建立cookie        
      cookie = "NotSet"
      context.SetCookie("www", "123", 3600, "/", "localhost", false, true)
}

setCookie底層探究

http.SetCookie(c.Writer, &http.Cookie{
        Name:     name,
        Value:    url.QueryEscape(value),
       // MaxAge=0表示未設定Max-Age屬性
        // MaxAge<0表示立刻刪除該cookie,等價於"Max-Age: 0"
        // MaxAge>0表示存在Max-Age屬性,單位是秒  存到磁碟中,開機關機不影響
        MaxAge:   maxAge,
          //只允許某路徑下可以訪問
        Path:     path,
          
//cookie跨域 /*當自己域名是 頂級域名:hello.com 二級域名:hi.hello.com 三級域名:big.hi.hello.com 對應設定的domain首先不能高過自己的(不能說二級或三級等),也就是說 如自己是hello.com,設定Domain不能低過自己,不然無法獲得cookie;另外訪問的域名不能低於設定的domain*/ Domain: domain, SameSite: c.sameSite, Secure: secure, HttpOnly: httpOnly, })

正在整理筆記,如有雷同,請告知地址,本人必添上