[go] Go 언어의 HTTP 서버 만들기

Go 언어는 간단하면서도 효율적인 웹 애플리케이션을 개발하는 데 적합한 언어입니다. 이번에는 Go 언어를 사용하여 간단한 HTTP 서버를 만드는 방법에 대해 알아보겠습니다.

목차

  1. HTTP 서버란?
  2. Go 언어로 HTTP 서버 만들기
  3. 서버 실행 및 테스트
  4. 마무리

HTTP 서버란?

HTTP 서버는 클라이언트로부터 HTTP 요청을 받아들이고, 이에 대한 적절한 응답을 반환하는 소프트웨어입니다. 가장 일반적으로는 웹 브라우저로부터 요청을 받아 HTML 페이지나 자원들을 반환합니다.

Go 언어로 HTTP 서버 만들기

먼저, Go 언어의 기본 라이브러리인 net/http 패키지를 사용하여 간단한 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 함수를 사용하여 요청이 들어왔을 때 처리할 핸들러 함수를 등록하고, http.ListenAndServe 함수를 사용하여 8080 포트에서 서버를 실행합니다.

서버 실행 및 테스트

위의 예제 코드를 server.go 파일에 저장한 후 터미널에서 아래 명령을 실행하여 서버를 실행합니다.

go run server.go

웹 브라우저나 HTTP 클라이언트를 사용하여 http://localhost:8080에 접속하면 “Hello, World!”가 표시됨을 확인할 수 있습니다.

마무리

이렇게 간단한 코드 몇 줄만으로 Go 언어를 사용하여 HTTP 서버를 만들어보았습니다. Go 언어는 내장된 표준 라이브러리를 통해 간단하면서도 강력한 기능을 제공하기 때문에 웹 개발에도 매우 적합한 언어입니다.

참고 자료