지금까지 이제 기본적인 사항은 완료되었습니다. 이제 간단한 server를 만들어 보기로 한다.
- http method는 여기 에서 먼저 공부하고 옵니다.
HTTP 요청 메서드 - HTTP | MDN
HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부
developer.mozilla.org
- 먼저 가장 간단한 GET Medthod로 브라우저 주소창에 주소를 치면, 글자를 리턴해주고, 이것이 브라우저 창에 보이도록 해봅시다.
net/http 내장 모듈
- net/http내장 객체를 import해서 사용해야 한다.
Code
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
w.Write([]byte("Hello World"))
})
http.ListenAndServe(":5000", nil)
}
코드는 간단하다. 위 코드를 main.go로 저장하고
- import( "net/http") 는 내장 모듈로 http 네트워크 관련 기능들을 제공한다.
- http.HandleFunc("/", func(.... 은 Path '/', 로 요청이 들어 오면, func( 를 호출 해라고 하는 핸들러 연결 함수 입니다.
- w 파라미터는 http responsewriter로 응답을 작성하게 해주는 객체입니다.
- http.ListenAdnServe(":5000", nil) 은 port 500번으로 서버를 실행 시켜라 입니다. 뒤에 nil로 표기된 부분은 서버 실행시 호출되는 함수를 넣을 수 있습니다. 에러처리나, 서버가 닫을 때 처리해야 될 일이 있는 경우 사용할 수 있습니다.
- go run main.go
- 이제 브라우저에서 http://localhost:5000 로 접속 하면, Hellow World라는 글자가 화면에 나타난다.
- http.HandleFunc("/A", func.... 이런 방식의 handler를 작성하면,
- http://localhost:5000/A 로 접속시 호출
- 이제 기본적인 GET method를 작성할 수 있게 되었습니다.
- 다음 시간는 query스트링 처리, post method처리 등에 대해 알아 보겠습니다.