最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言中Gin的Cookie操作

 更新時間:2026年07月07日 09:01:03   作者:H_拾憶  
本文主要介紹了Go語言中Gin的Cookie操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Cookie是網(wǎng)絡(luò)服務(wù)器存儲在用戶計算機(jī)上的小型文本文件.它通常用于跟蹤用戶首選項(xiàng)或登錄憑據(jù).以及維護(hù)Http請求之間的狀態(tài).

1.Cookie具有各種屬性.

1.1.名稱和值;必須屬性.用于存儲任意數(shù)據(jù).

1.2.到期日期:用于指定Cookie應(yīng)在何時到期.

1.3.路徑和域:用于將Cookie限制在網(wǎng)站的特定部分或特定域內(nèi).

2.Cookie的創(chuàng)建:

服務(wù)器接收到客戶端發(fā)送的Http請求后,會在響應(yīng)中包含Set-Cookie標(biāo)頭的信息.Cookie通常存儲在客戶端瀏覽器中.客戶端瀏覽器在發(fā)送請求時會通過Http標(biāo)頭攜帶相應(yīng)的Cookie 返回服務(wù)器.

2.1Cookie分為以下幾種:

2.1.1:Set-Cookie和Cookie標(biāo)頭:

Set-Cookie是服務(wù)器在Http響應(yīng)中使用的標(biāo)頭.用于將Cookie發(fā)送到用戶代理處.在隨后的請求中使用Cookie標(biāo)頭將Cookie返回服務(wù)器.

2.1.2:會話Cookie:

會話Cookie特點(diǎn)是當(dāng)關(guān)閉瀏覽器時,它會被刪除.因?yàn)樗鼪]有指定Expires或Max-Age屬性.然后有一些瀏覽器具有"會話恢復(fù)功能",這會使得大多數(shù)Cookie保持原有功能.就像沒有關(guān)閉瀏覽器一樣.

2.1.3:持久Cookie:

持久性Cookie不會在關(guān)閉瀏覽器過期,而是達(dá)到特定日期后過期.

2.1.4:安全Cookie:

安全Cookie只能通過Https協(xié)議加密傳輸,確保他們不會通過不安全的連接發(fā)送.

2.2Cookie作用域:

Cookie的作用域由Domain和Path屬性定義,即指定了哪些Url可以接收和發(fā)送該Cookie.

2.2.1:Domain屬性:

指定了可以接收該Cookie的主機(jī).如果未指定Domain,則默認(rèn)情況下Cookie僅適用于當(dāng)前主機(jī)(不包含子域名).如果指定了.該Cookie適用于當(dāng)前主機(jī)所包含的子域名.

2.2.2:Path屬性:

指定了Cookie的使用路徑,即在哪些Url下Cookie可用.例如Path=/test,表示可以在/test /test/a /test/b 等路徑都可以使用.

3.設(shè)置Cookie:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
	"time"
)

func main() {
	request := gin.Default()
	//設(shè)置一個Cookie
	request.GET("/setCookie", func(c *gin.Context) {
		cookie := &http.Cookie{
			Name:    "UserName",
			Value:   "itBo",
			Expires: time.Now().Add(10 * time.Minute),
			Path:    "/",
		}
		http.SetCookie(c.Writer, cookie)
		c.String(http.StatusOK, "ok,設(shè)置Cookie成功")
	})
	request.Run()
}

4.讀取Cookie:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	request := gin.Default()
	//設(shè)置一個Cookie
	request.GET("/readCookie", func(c *gin.Context) {
		cookie, err := c.Cookie("userName")
		if err != nil {
			c.String(http.StatusOK, "未找到Cookie")
			return
		}
		c.String(http.StatusOK, "ok,%s", cookie)
	})
	request.Run()
}

5.刪除Cookie:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
	"time"
)

func main() {
	request := gin.Default()
	//設(shè)置一個Cookie
	request.GET("/deleteCookie", func(c *gin.Context) {
		cookie := &http.Cookie{
			Name:    "userName",
			Value:   "itBo",
			Expires: time.Unix(0, 0),
			Path:    "/",
		}
		http.SetCookie(c.Writer, cookie)
		c.String(http.StatusOK, "cookie is deleted")
	})
	request.Run()
}

到此這篇關(guān)于Go語言中Gin的Cookie操作的文章就介紹到這了,更多相關(guān)Gin的Cookie操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • golang中配置?sql.DB獲得更好的性能

    golang中配置?sql.DB獲得更好的性能

    這篇文章主要介紹了golang中如何配置?sql.DB獲得更好的性能,在這篇文章中,我想準(zhǔn)確解釋這些設(shè)置的作用,并展示它們可能產(chǎn)生的(積極和消極)影響,需要的朋友可以參考下
    2023-10-10
  • 輕松管理多個Go版本之g工具安裝與使用方法

    輕松管理多個Go版本之g工具安裝與使用方法

    這篇文章主要介紹了輕松管理多個Go版本之g工具安裝與使用的相關(guān)資料,g是一個Linux、macOS、Windows下的命令行工具,可以提供一個便捷的多版本go環(huán)境的管理和切換,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • Golang?Heap的源碼剖析

    Golang?Heap的源碼剖析

    這篇文章主要給大家詳細(xì)剖析了Golang?Heap源碼,文中有詳細(xì)的代碼示例,對我們學(xué)習(xí)Golang?Heap有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • golang之log rotate詳解

    golang之log rotate詳解

    下面小編就為大家?guī)硪黄猤olang之log rotate詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 一文詳解Go語言中對象池的正確打開方式

    一文詳解Go語言中對象池的正確打開方式

    對象池是一種設(shè)計模式,它維護(hù)一組已經(jīng)創(chuàng)建好的對象,當(dāng)需要使用對象時,直接從對象池中獲取,使用完畢后再放回對象池,而不是頻繁地創(chuàng)建和銷毀對象,下面我們就來看看Go語言中對象池的具體使用吧
    2025-02-02
  • 基于golang如何實(shí)現(xiàn)error工具包詳解

    基于golang如何實(shí)現(xiàn)error工具包詳解

    Go 語言使用 error 類型來返回函數(shù)執(zhí)行過程中遇到的錯誤,下面這篇文章主要給大家介紹了關(guān)于如何基于golang實(shí)現(xiàn)error工具包的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • 解決Go?Json?Unmarshal反序列化丟失數(shù)字精度問題

    解決Go?Json?Unmarshal反序列化丟失數(shù)字精度問題

    業(yè)務(wù)會使用?id生成器?產(chǎn)生的?分布式唯一ID,長度比較長,所以代碼反序列化時,會出現(xiàn)精度丟失問題,那如何解決呢,下面小編就來和大家詳細(xì)講講
    2023-08-08
  • Go并發(fā)與鎖的兩種方式該如何提效詳解

    Go并發(fā)與鎖的兩種方式該如何提效詳解

    如果沒有鎖,在我們的項(xiàng)目中,可能會存在多個goroutine同時操作一個資源(臨界區(qū)),這種情況會發(fā)生競態(tài)問題(數(shù)據(jù)競態(tài)),下面這篇文章主要給大家介紹了關(guān)于Go并發(fā)與鎖的兩種方式該如何提效的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 淺談JWT在GO中的使用方法及原理

    淺談JWT在GO中的使用方法及原理

    JWT是一種基于?JSON?的開放標(biāo)準(zhǔn),用于在網(wǎng)絡(luò)應(yīng)用間傳遞聲明,JWT被設(shè)計為可安全地將用戶身份驗(yàn)證和授權(quán)數(shù)據(jù)作為?JSON?對象在各個應(yīng)用程序之間傳遞,本文將詳細(xì)給大家介紹JWT原理及在Go中的用法,需要的朋友可以參考下
    2023-05-05
  • Go語言斷言和類型查詢的實(shí)現(xiàn)

    Go語言斷言和類型查詢的實(shí)現(xiàn)

    Go語言變量類型包含基礎(chǔ)類型和復(fù)合類型,類型斷言一般是對基礎(chǔ)類型的處理,本文主要介紹了Go語言斷言和類型查詢的實(shí)現(xiàn),感興趣的可以了解一下
    2024-01-01

最新評論

景谷| 德清县| 财经| 吉木萨尔县| 苏尼特左旗| 九寨沟县| 固安县| 松滋市| 晋宁县| 芦山县| 高阳县| 延边| 建昌县| 洞口县| 太保市| 施甸县| 巴里| 远安县| 景洪市| 泰宁县| 贡觉县| 杂多县| 平阳县| 光山县| 乐东| 赤水市| 石棉县| 六盘水市| 工布江达县| 务川| 基隆市| 外汇| 察雅县| 壤塘县| 商丘市| 金寨县| 南江县| 英山县| 宝兴县| 图片| 广宗县|