Go 언어를 통해 웹 서버 만들기
Go 언어에서는 net/http 패키지를 통해 웹 서버를 쉽게 만들 수 있다.
웹 서버를 만들기 전에 각 경로에 대한 핸들러를 등록한 후 시작해야 한다.
해당 과정을 통해 핸들러를 등록 한 후, 웹 브라우저에서 경로를 입력하면 HTTP 요청을 서버로 전송할 수 있다.
웹 서버 테스트 코드는 httptest패키지를 사용해 작성할 수 있다.
HTTP를 사용하면 HTML 및 다양한 데이터를 전송할 수 있다.
데이터 전송시 JSON 포맷을 많이 사용한다.
RESTful API 서버 만들기
REST란 여러가지의 웹 아키텍처를 합친 개념을 말한다.
RESTful API를 만들기 위해서 URL로 자기표현식 데이터를 나타낼 수 있다.
데이터 동작을 정의하기 위해 HTTP 메서드를 이용해야 한다.
어떤 서비스라도 일관된 표현식으로 표현하기 위해서는 REST를 사용하면 된다.
RESTful API를 이용하면, 데이터 규약이 통일되고, 이를 통해 많은 서비스 간 연결이 가능하다.
통상적으로 프론트엔드, 백엔드, 데이터베이스 3계층으로 구성된 것을 웹 서비스라고 하며, 3티어 라고 한다.
- 프론트엔드
- 사용자가 화면을 볼 때, 보이는 부분이고 HTML, CSS, JavaScript로 만들어진다.
- 벡엔드
- 사용자가 화면을 보기 위해 사용자가 보이지 않는 곳에서 화면 구성에 필요한 데이터와 동작 로직을 제공하는 계층이다. Go를 사용하면 쉽게 만들 수 있다.
- 데이터베이스
- 데이터베이스 종류는 다양하며, 데이터를 저장하는 계층이다.
총체적으로 Go는 백엔드에 특화된 프로그래밍 언어이다.
웹 서버를 테스트용으로 배포할 때 헤로쿠를 사용할 수 있다. 헤로쿠는 무료이며, PaaS 서비스를 제공한다.
해당 글은 [Tucker의 Go 언어 프로그래밍] 29장~31장을 읽고 공부한 글입니다
'Golang' 카테고리의 다른 글
[묘공단] Go언어 프로그래밍 27-28장(SOLID, 테스트와 벤치마크) (0) | 2024.03.28 |
---|---|
[묘공단] Go언어 고급 24-25장(고루틴, 동시성 프로그래밍, 채널, 컨텍스트) (0) | 2024.03.11 |
[묘공단] Go언어 고급 22-23장(자료구조, 에러 핸들링) (0) | 2024.03.09 |
[묘공단] Go언어 고급 20-21장(인터페이스, 함수 고급) (1) | 2024.03.09 |
[묘공단] Go언어 고급 18-19장(슬라이스, 메서드) (0) | 2024.02.05 |