[go] net/http 패키지를 사용한 웹 애플리케이션 개발

Go 언어는 간결한 문법과 효율적인 동시성 처리를 특징으로 하는 프로그래밍 언어입니다. 이번에는 Go 언어의 표준 라이브러리 중 하나인 net/http 패키지를 사용하여 간단한 웹 애플리케이션을 개발하는 방법에 대해 알아보겠습니다.

1. net/http 패키지

net/http 패키지는 HTTP 프로토콜을 통해 웹 서버 및 클라이언트를 구현하기 위한 기본적인 기능을 제공합니다. 이 패키지를 활용하면 간단하게 웹 서버를 구축하고 웹 애플리케이션을 개발할 수 있습니다.

2. 웹 서버 구축

아래는 net/http 패키지를 사용하여 간단한 “Hello, World!”를 출력하는 웹 서버를 구축하는 예제 코드입니다.

package main

import (
	"fmt"
	"net/http"
)

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

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

위 예제에서 http.HandleFunc 함수를 통해 URL 패턴과 핸들러 함수를 등록하고, http.ListenAndServe 함수를 통해 웹 서버를 실행합니다.

3. 정적 파일 제공

웹 애플리케이션에서 정적 파일(이미지, CSS, JavaScript 파일 등)을 제공하는 방법도 net/http 패키지를 통해 간단하게 구현할 수 있습니다. 예를 들어, 현재 디렉터리의 static 폴더에 있는 정적 파일들을 제공하는 코드는 아래와 같습니다.

func main() {
    fs := http.FileServer(http.Dir("static"))
    http.Handle("/static/", http.StripPrefix("/static/", fs))
    http.ListenAndServe(":8080", nil)
}

마치며

이제 net/http 패키지를 활용하여 간단한 웹 애플리케이션을 개발하는 기본적인 방법을 알아보았습니다. 추가적으로 템플릿 엔진을 사용하거나 데이터베이스와의 연동 등을 통해 더욱 다양하고 복잡한 웹 애플리케이션을 개발할 수 있습니다.