Node.js http 모듈

우리가 치킨을 시켜먹을때, 전화로 이렇게 말한다

“여기는 A아파트구요, B동 C호에요… 치킨 한마리 배달해주세요”

그러면 우리는 약간의 시간 뒤에 우리가 주문한 치킨을 집(전화로 말한 주소)에서 받게 된다.

이러한 맥락에서 URL을 웹 브라우저에 입력하는 것은 치킨을 시키는 전화로 볼 수 있고,
웹페이지를 웹브라우저으로부터 받는 것을 치킨집으로부터 치킨을 받는 것으로 볼 수 있다.
이러한 비유가 웹페이지의 요청과 응답에 대한 기본적인 이해이다.

서버는 요청을 보내는 방법에 따라 http 웹서버 또는 https 웹서버 등으로 불린다.
요청메시지를 사용하면, 유저들에게 더 적합한 웹페이지를 보여줄 수 있다.
응답메시지를 사용하면, 쿠키를 사용, 저장하거나 페이지 강제 이동 등의 추가 기능을 사용할 수 있다
http모듈에서 가장 중요한 객체는 server객체이다.
server객체는 http 모듈의 createServer()메소드를 사용하여 만들 수 있다.

server객체의 메소드

  • listen(port[, callback]) — 서버를 시작한다
  • close([callback]) — 서버를 중지한다

server객체의 이벤트

  • request — 사용자가 무언가를 요청할 때 발생
  • connection — 사용자가 서버에 접속할 때 발생
  • close — 서버가 닫힐 때 발생
  • checkContinue — 사용자가 서버를 계속 열고 있을 때 발생
  • upgrade — 사용자가 HTTP 업그레이드를 요청할 때 발생
  • clientError — 사용자가 에러를 발생시키면 발생

웹페이지를 제공하고자 할 때, 요청메시지를 작성해야한다.
요청메시지의 작성은 request 이벤트 리스너의 두번째 매개변수인 response객체를 통해 할 수 있다.

Response객체의 메소드

  • writeHead(statusCode[, statusMessage][, headers]) — response header를 작성할 때
  • end([data][, encoding][, callback]) — response객체의 본문을 작성
Comments