>백엔드 개발 >Golang >golang에서 쿠키를 구현하는 방법

golang에서 쿠키를 구현하는 방법

PHPz
PHPz원래의
2023-04-05 14:36:281134검색

웹 개발에서 쿠키는 후속 요청에 사용하기 위해 사용자에 대한 일부 정보를 저장하는 데 사용되는 매우 일반적인 기술입니다.

Go 언어(golang)는 HTTP 요청 및 응답에서 쿠키를 쉽게 읽고 설정할 수 있는 완벽한 쿠키 지원도 제공합니다.

이 글에서는 golang이 쿠키를 구현하는 방법을 소개하고 독자가 더 잘 이해할 수 있도록 몇 가지 샘플 코드를 제공합니다. 다음은 자세한 소개입니다.

1. golang의 쿠키

golang에서는 http 패키지의 Cookie 유형을 사용하여 쿠키를 나타냅니다. 쿠키에는 키와 값이라는 두 가지 필드와 경로, 도메인, MaxAge, 만료 등과 같은 일부 선택적 필드가 포함되어 있습니다.

Cookie의 정의는 다음과 같습니다.

type Cookie struct {

Name       string
Value      string
Path       string
Domain     string
Expires    time.Time
RawExpires string

MaxAge   int
Secure   bool
HttpOnly bool

Raw string
Unparsed []string

}

Cookie의 각 필드의 의미는 다음과 같습니다.

  • Name: 쿠키의 이름
  • Value: 값 쿠키
  • Path: 쿠키가 유효함 요청 URL 경로
  • Domain: 쿠키에 대한 유효한 요청 URL의 호스트 이름
  • Expires: 쿠키의 만료 시간
  • MaxAge: 쿠키의 만료 시간, 초 단위
  • Secure: 쿠키는 HTTPS 연결에서만 전송됩니다.
  • HttpOnly: JavaScript로 쿠키에 액세스할 수 없습니다.
  • Raw: HTTP 요청에 있는 쿠키의 원래 문자열
  • Unparsed: 처리되지 않은 쿠키 문자열

2. 쿠키 설정

golang에서 쿠키 설정은 http 패키지의 SetCookie 함수를 사용할 수 있습니다. SetCookie 함수에는 클라이언트에 HTTP 응답을 보내는 데 사용되는 ResponseWriter 유형의 매개변수가 필요합니다.

다음은 SetCookie 함수의 정의입니다.

func SetCookie(w ResponseWriter, cookie *Cookie)

샘플 코드에서는 "username"이라는 쿠키를 설정하고 해당 값을 "john"으로 설정합니다.

샘플 코드는 다음과 같습니다.

package main

import (

"net/http"

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)

}

func handler(w http.ResponseWriter, r *http.Request) {

c := http.Cookie{Name: "username", Value: "john"}
http.SetCookie(w, &c)

}

3. 쿠키 읽기

golang에서 쿠키를 읽으려면 http 패키지의 Cookies 기능을 사용할 수 있습니다. 쿠키 기능에는 HTTP 요청을 나타내는 데 사용되는 Request 유형의 매개변수가 필요합니다.

다음은 Cookies 함수의 정의입니다.

func Cookies(r Request) []Cookie

샘플 코드에서는 "username"이라는 이전에 설정된 쿠키를 읽어 해당 값을 콘솔.

샘플 코드는 다음과 같습니다.

package main

import (

"fmt"
"net/http"

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)

}

func handler(w http.ResponseWriter, r *http.Request) {

c, err := r.Cookie("username")
if err != nil {
    fmt.Println("Unable to read cookie")
} else {
    fmt.Println(c.Value)
}

}

이 샘플 코드는 Request의 Cookie 메소드를 사용하여 "username"이라는 쿠키를 읽습니다. 읽기에 성공하면 쿠키 값이 출력되고, 그렇지 않으면 오류 메시지가 출력됩니다.

요약

이 글에서는 쿠키를 생성하고 읽는 방법을 포함하여 golang에서 쿠키를 사용하는 방법을 소개합니다. 이 기사의 소개를 통해 독자는 golang에서 쿠키의 기본 사용법을 익혀 웹 개발에 더 많은 가능성을 제공할 수 있습니다.

위 내용은 golang에서 쿠키를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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