[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는 보안 상의 이유로 웹 어플리케이션 간의 통신을 보호하는 데 중요한 역할을 합니다.
참고 자료
- MDN Web Docs - CORS
- Go Language - Go 언어 공식 홈페이지
다양한 경우에 맞는 CORS 정책 적용 방법에 대한 추가적인 정보를 얻고 싶다면 위의 참고 자료를 참고해 보시기 바랍니다.