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에서 테스트한 화면은 아래와 같습니다.
예제 코드에서 의도한것과 같이 3개의 각각 다른 request에 따라 다른 응답을 보내는것을 확인 할 수 있습니다.
오늘은 golang request & response 실습을 해보았습니다.
자, 그럼 다음시간에 이어서 계속 golang을 이용한 웹서비스 만들기 실습을 이어 가도록 하겠습니다.
언젠가는 golang으로 나만의 웹서비스를 만들수 있을겁니다!!
감사합니다!!!
by.sTricky