우리가 치킨을 시켜먹을때, 전화로 이렇게 말한다
“여기는 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
객체의 본문을 작성