[go] 템플릿 CORS 정책

이번에 우리는 Go 언어로 작성된 웹 어플리케이션에 CORS(Cross-Origin Resource Sharing) 정책을 적용하는 방법에 대해 알아볼 것입니다.

CORS란?

CORS는 웹 어플리케이션이 다른 도메인의 리소스를 요청할 수 있도록 허용하는 교차 출처 HTTP 요청을 허용하기 위한 웹 브라우저의 정책입니다. 이것은 보안을 유지하기 위해 원본 도메인과 목적 도메인 간의 통신을 제어합니다.

템플릿 CORS 정책 적용하기

아래는 Go 언어로 작성된 템플릿 CORS 정책을 적용하는 간단한 코드입니다.

package main

import (
	"net/http"
)

func main() {
	// CORS 헤더 설정
	headers := make(http.Header)
	headers.Set("Access-Control-Allow-Origin", "*")
	headers.Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS")
	headers.Set("Access-Control-Allow-Headers", "Content-Type, Authorization")

	// 핸들러 설정
	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		// 실제 요청 처리
	})

	// CORS 헤더 적용
	corsHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if r.Method == "OPTIONS" {
			// Preflight 요청 처리
			w.WriteHeader(http.StatusOK)
			return
		}
		// 실제 요청 시 CORS 헤더 적용
		for key, values := range headers {
			for _, value := range values {
				w.Header().Add(key, value)
			}
		}
		handler.ServeHTTP(w, r)
	})

	// 서버 시작
	http.ListenAndServe(":8080", corsHandler)
}

위의 코드는 기본적인 CORS 헤더를 설정하고, 핸들러와 CORS 헤더를 적용하는 방법을 보여줍니다. 사용자의 요청에 대한 처리를 위한 부분은 handler 함수에 작성하면 됩니다.

이제 Go 언어로 작성된 웹 어플리케이션에 CORS 정책을 간단하게 적용하는 방법에 대해 알아보았습니다. CORS는 보안 상의 이유로 웹 어플리케이션 간의 통신을 보호하는 데 중요한 역할을 합니다.

참고 자료

다양한 경우에 맞는 CORS 정책 적용 방법에 대한 추가적인 정보를 얻고 싶다면 위의 참고 자료를 참고해 보시기 바랍니다.