더북(TheBook)

createServer 메서드 뒤에 listen 메서드를 붙이고 클라이언트에 공개할 포트 번호와 포트 연결 완료 후 실행될 콜백 함수를 넣습니다. 이제 이 파일을 실행하면 서버는 8080번 포트에서 요청이 오기를 기다립니다.

res 객체에는 res.writeHeadres.write, res.end 메서드가 있습니다. res.writeHead는 응답에 대한 정보를 기록하는 메서드입니다. 첫 번째 인수로 성공적인 요청임을 의미하는 200을, 두 번째 인수로 응답에 대한 정보를 보내는데, 콘텐츠의 형식이 HTML임을 알리고 있습니다. 또한 한글 표시를 위해 charset을 utf-8로 지정했습니다. 이 정보가 기록되는 부분을 헤더(header)라고 합니다.

res.write 메서드의 첫 번째 인수는 클라이언트로 보낼 데이터입니다. 지금은 HTML 모양의 문자열을 보냈지만 버퍼를 보낼 수도 있습니다. 여러 번 호출해서 데이터를 여러 개 보내도 됩니다. 데이터가 기록되는 부분을 본문(body)이라고 합니다. 헤더와 본문은 다음 절에서 자세히 알아보겠습니다.

res.end는 응답을 종료하는 메서드입니다. 만약 인수가 있다면 그 데이터도 클라이언트로 보내고 응답을 종료합니다. 따라서 앞의 예제는 res.write에서 <h1>Hello Node!</h1> 문자열을, res.end에서 <p>Hello Server!</p> 문자열을 클라이언트로 보낸 후 응답이 종료된 것입니다. 브라우저는 응답 내용을 받아서 렌더링합니다.