서버에서 Net/HTTP로 쿠키 설정
이 문서에서는 net/http 패키지를 사용하여 Go에서 쿠키를 설정하는 문제를 다룹니다. 어려움에 직면했을 때 온라인 검색에 의지했지만 만족스럽지 못한 결과를 얻었을 수도 있습니다.
귀하가 제공한 코드를 자세히 살펴보겠습니다.
package main import ( "io" "net/http" "time" ) func indexHandler(w http.ResponseWriter, req *http.Request) { expire := time.Now().AddDate(0, 0, 1) cookie := http.Cookie{"test", "tcookie", "/", "www.domain.com", expire, expire.Format(time.UnixDate), 86400, true, true, "test=tcookie", []string{"test=tcookie"}} req.AddCookie(&cookie) io.WriteString(w, "Hello world!") } func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(":80", nil) }
귀하가 받은 응답에 강조 표시된 대로 응답이 아닌 요청에 쿠키를 설정하십시오. 이를 위해 net/http는 SetCookie라는 메소드를 제공합니다.
func SetCookie(w ResponseWriter, cookie *Cookie)
쿠키를 설정하려면 다음과 같이 SetCookie 함수를 사용해야 합니다.
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, MaxAge: 86400, // duration in seconds. Secure: true, HttpOnly: true, } http.SetCookie(w, &cookie) io.WriteString(w, "Hello world!") }
쿠키를 설정하여 응답을 받으면 브라우저는 쿠키를 수신하고 그에 따라 저장합니다. 이를 통해 사용자 세션을 추적하고 웹 애플리케이션에서 개인화된 경험을 제공할 수 있습니다.
위 내용은 Go의 net/http 패키지를 사용하여 쿠키를 올바르게 설정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!