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
패키지를 사용하여 서버 상태 코드를 처리하는 방법에 대해 알아보았습니다. 여러분에게 도움이 되었기를 바랍니다.