[go] net/http 패키지를 사용한 서버 상태 코드 처리

Go 언어에서 웹 서버를 구축할 때, HTTP 상태 코드를 효과적으로 처리해야 합니다. Go의 net/http 패키지를 사용하면 간단하게 서버를 구축할 수 있으며, 클라이언트 요청에 대한 적절한 상태 코드를 반환할 수 있습니다. 이번 글에서는 net/http 패키지를 사용하여 서버 상태 코드를 처리하는 방법에 대해 알아보도록 하겠습니다.

1. 서버 구축

먼저, Go 언어에서 net/http 패키지를 사용하여 간단한 웹 서버를 구축합니다. 아래는 기본적인 서버를 생성하는 예제 코드입니다.

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello, World!")
	})

	http.ListenAndServe(":8080", nil)
}

위 코드는 루트 경로(/)에 대한 요청에 “Hello, World!”를 응답하는 간단한 웹 서버를 생성합니다.

2. 상태 코드 처리

이제, 이 서버에서 상태 코드를 처리하는 방법을 살펴보겠습니다. 예를 들어, 클라이언트가 요청한 페이지가 존재하지 않을 때 404 Not Found 상태 코드를 반환하도록 수정해보겠습니다.

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    // Some logic to check if the requested page exists
    if pageNotFound {
        http.Error(w, "Page not found", http.StatusNotFound)
        return
    }
    fmt.Fprintf(w, "Hello, World!")
})

위 코드에서 http.Error 함수를 사용하여 404 상태 코드와 함께 “Page not found” 메시지를 반환하도록 수정하였습니다.

3. 기타 상태 코드 처리

위와 같은 방법으로 다양한 상태 코드를 처리할 수 있습니다. 예를 들어, 500 Internal Server Error, 403 Forbidden 등의 상태 코드도 간단히 처리할 수 있습니다.

요약

Go 언어의 net/http 패키지를 사용하여 간단한 웹 서버를 구축하고, 클라이언트 요청에 따라 다양한 HTTP 상태 코드를 처리하는 방법에 대해 알아보았습니다. 상태 코드는 클라이언트와의 효율적인 커뮤니케이션을 위해 중요하므로, 적절한 상태 코드 처리는 웹 서버 구축 시 고려해야 할 사항입니다.

참고 문헌: Go net/http 패키지 공식 문서

이상으로, Go의 net/http 패키지를 사용하여 서버 상태 코드를 처리하는 방법에 대해 알아보았습니다. 여러분에게 도움이 되었기를 바랍니다.