>백엔드 개발 >Golang >Go의 net/http 패키지를 사용하여 쿠키를 올바르게 설정하는 방법은 무엇입니까?

Go의 net/http 패키지를 사용하여 쿠키를 올바르게 설정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-21 05:50:12259검색

How to Correctly Set Cookies Using Go's net/http Package?

서버에서 Go의 net/http로 쿠키 설정

Go의 net/http 패키지로 쿠키를 설정하는 것은 간단한 작업일 수 있습니다. 그러나 일반적인 함정은 응답이 아닌 요청 개체에 쿠키를 설정하려고 시도하는 것입니다.

구현

net/http를 사용하여 쿠키를 올바르게 설정하는 방법은 다음과 같습니다.

package main

import (
    "fmt"
    "net/http"
    "time"
)

func indexHandler(w http.ResponseWriter, req *http.Request) {
    expire := time.Now().AddDate(0, 0, 1)
    cookie := &http.Cookie{
        Name:     "test",
        Value:    "tcookie",
        Path:     "/",
        Domain:   "www.domain.com",
        Expires:  expire,
        RawExpires:  expire.Format(time.UnixDate),
        MaxAge:     86400,
        Secure:     true,
        HttpOnly:   true,
        SameSite:    http.SameSiteStrictMode,
        Raw:          "test=tcookie",
        Unparsed: []string{"test=tcookie"},
    }

    http.SetCookie(w, cookie) // Set the cookie on the response
    fmt.Fprint(w, "Hello world!")
}

func main() {
    http.HandleFunc("/", indexHandler)
    http.ListenAndServe(":80", nil)
}

설명

이에 예:

  • http.SetCookie(w, cookie)는 응답에 쿠키를 추가하는 데 사용됩니다.
  • 쿠키는 이름, 값, 경로와 같은 다양한 속성으로 구성됩니다. , 도메인, 만료 및 보안 설정.
  • fmt.Fprint(w, "Hello world!")는 세트를 포함하여 클라이언트에 응답을 보냅니다. 쿠키.

위 내용은 Go의 net/http 패키지를 사용하여 쿠키를 올바르게 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.