본문 바로가기

goLang

golang 언어로 웹서버 만들기

golang 언어로 웹서버 만들기

golang을 통해서 웹서버 만들기



안녕하세요. sTricky 입니다.
조금씩 조금씩,
golang을 이용해서 웹서버 만들기 실습을 해볼껍니다.
우선 오늘은 golang을 통해서 request를 보내고 response를 받는 실습을 진행 하겠습니다.

golang request & response 실습

자, 그럼 간단하게 golang으로 작성한 request 와 response 예제 코드를 보도록 하겠습니다.
코드는 아래와 같이 간단하게 작성이 되어 있습니다.
예제코드를 보시고 설명을 이어 가도록 하겠습니다.

package main

import (
	"fmt"
	"net/http"
)

type fooHandler struct{}

func (f *fooHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	fmt.Fprint(w, "Hello Foo!")
}

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

	http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprint(w, "Hello Bar")
	})

	http.Handle("/foo", &fooHandler{})

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

위의 main 함수를 보면 HandleFunc으로 두개가 등록 되어 있고, Handle로 하나가 등록되어 있는걸 확인 할 수 있습니다. 마지막에 /foo로 등록되어 있는 Handle은 코드상에 위쪽에 type으로 정의한 fooHandler의 struct를 참조하는걸 확인 할수 있습니다.

위 코드를 vscode에서 실행 한 뒤에 chrome에서 테스트한 화면은 아래와 같습니다.

golang request & response 실습1
golang request & response 실습2
golang request & response 실습3

예제 코드에서 의도한것과 같이 3개의 각각 다른 request에 따라 다른 응답을 보내는것을 확인 할 수 있습니다.
오늘은 golang request & response 실습을 해보았습니다.

자, 그럼 다음시간에 이어서 계속 golang을 이용한 웹서비스 만들기 실습을 이어 가도록 하겠습니다.
언젠가는 golang으로 나만의 웹서비스를 만들수 있을겁니다!!
감사합니다!!!


by.sTricky