본문 바로가기
카테고리 없음

Node.js - http 모듈의 사용법

처음부터 시작하는 AWS와 Node.js 책자 본문 일부입니다.

https://itadventure.tistory.com/493

 

[전자책 출간!] 처음부터 시작하는 AWS와 Node.js

65 페이지 분량의 미리보기 책을 무료로 제공해드립니다 첨부파일을 다운로드하셔서 보시고 관심을 갖게 되신다면 그 때 구매하세요! 그동안 집필해본 '처음부터 시작하는 AWS와 Node.js' PDF 전자

itadventure.tistory.com

 

http 모듈을 가져왔다고 해서 홈페이지 서비스를 할 수 있는 것은 아닙니다.
사용법에 맞게 사용을 시작해주어야 하는데요 기본 사용법은 아래와 같습니다.

http.createServer(function (req, res) {
: 홈페이지 접속 시 사용할 기능을 넣습니다.

}).listen(서비스할 포트번호);


아래 문장은 서비스할 포트번호로 홈페이지 서비스를 시작하라는 의미입니다.
그러면서 콜백함수(Callback Function)를 넣어주도록 되어 있는데요. ( 콜백함수 : 기능을 묶은 것을 ‘함수’라 부르며 어떤 사건이 발생하면 응답하는 함수를 콜백함수라 부릅니다. )

http.createServer(콜백함수).listen(서비스할 포트번호);

여기서 콜백함수의 모양은 아래와 같습니다.

function (req, res) {
: 홈페이지 접속 시 사용할 기능을 넣습니다.

}


콜백함수는 바로 실행되는게 아니라 누군가 홈페이지에 접속할 때만 실행이 됩니다. ( 콜백 )
앞서 사용된 소스를 살펴보실까요?

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    res.end('안녕! 매우 멋진 Node.js\n');
}).listen(8080);


Node.js 를 시작하면 처음에는 이 부분만 실행됩니다.

http.createServer( 콜백함수… ).listen(8080);


8080 포트로 서비스를 시작하고 누군가 홈페이지에 접속하기를 무한대기하는 행동 그 자체를 의미합니다. 홈페이지 서비스는 항시 접속가능해야 하니까요.

이제 누군가 홈페이지 접속을 하면 콜백함수… 부분이 실행됩니다. 바로 아래 스크립트이지요.

function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    res.end('안녕! 매우 멋진 Node.js\n');
}


괄호 안에는 (req, res) 2가지가 보이는데요. req 는 나중에 살펴보고, res부터 살펴보겠습니다.
resresponse(응답)의 약어입니다. 그래서 접속한 사용자에게 응답하는 통로로 사용되는데요. 이렇게 전달되는 (req, res) 를 파라미터(Parameter)변수라고 부릅니다. ( 줄여서 파라미터 )

첫번째 줄에는 사용자가 접속한 웹 브라우저에 머리말을 보내는데요. 머리말을 보내는 명령이 res.writeHead 입니다. 200정상(OK)이라는 정의된 코드를 의미합니다.

res.writeHead(200. {페이지유형});

{페이지유형} 부분에는 접속한 URL 주소가 웹페이지인지 그림파일인지 음악이나 영상 파일인지의 정보를 보내줍니다.

아래 내용을 넣을 경우, 컨텐츠 유형(Content-Type) 은 웹페이지(text/html)이고,
본문의 내용이 유니코드(charset=utf-8)라는 국제 표준 코드를 사용한다는 내용을 응답합니다.

{'Content-Type': 'text/html; charset=utf-8'}

사용자의 웹 브라우저에는 보이지는 않지만 머리말(헤더)는 꼭 먼저 응답해 주어야 합니다.
이어서 웹 브라우저에 출력할 내용을 보내주는데요. res.end(‘본문’)  명령은 본문 내용을 전송해주고, 전송이 끝났다는 신호를 보내주는 명령입니다.

res.end('안녕! 매우 멋진 Node.js\n');

그래서 웹 브라우저에서 아래와 같은 결과를 보실 수 있는 것이지요.


필요하신 분에게 도움이 되시길 바랍니다. 그러면 이만 :)

도움이 되셨다면 공감 한방, 댓글은 굿잡!
감사합니다~


다음 이야기 : https://itadventure.tistory.com/503

 

Node.js - 기본소스 정리

처음부터 시작하는 AWS와 Node.js 책자 본문 일부입니다. https://itadventure.tistory.com/493 [전자책 출간!] 처음부터 시작하는 AWS와 Node.js 65 페이지 분량의 미리보기 책을 무료로 제공해드립니다 첨부파..

itadventure.tistory.com