본문 바로가기
JavaScript/node.js

[Node.js] 간단한 웹 서버 구현해보기

by 코드디코더 2018. 3. 29.

이번 포스팅에서는 Node.js 를 이용하여 간단한 웹서버를 구현해보도록 하겠습니다. 웹서버를 만들기 이전에 노드가 설치 되어있어야합니다. 아직 설치가 안되어 있으시다면 이전글을 참고하셔서 설치를 하고 진행해주시기 바랍니다.

2018.03.29 - [JavaScript/node.js] - [Node.js] 설치하기

 

[Node.js] 설치하기

Node.js 란? Node.js는 구글 크롬의 자바스크립트 엔진(V8)을 기반으로 만들어진 서버에서 실행되는 자바스크립트 런타임입니다. 기존의 자바스크립트는 브라우저에서만 실행할 수 있었지만, Node.js

egnmomo.tistory.com

Node.js 간단 웹 서버 구현

웹 서버 구현 소스 작성하기

아래 코드는 Node.js로 작성한 HTTP 서버 생성 코드입니다. 간략하게 설명하자면 require('http')를 통해 내장 모듈인 http를 불러옵니다. http.createServer() 메소드를 호출하여 서버를 생성해줍니다. http.createServer()의 파라메터로 요청 객체(req)와 응답 객체(res)를 처리하는 콜백 함수가 전달됩니다. 브라우저에서 서버로 요청이 왔을 때 해당 콜백함수가 싱행됩니다. 요청에 대한 응답을 위해 res.writeHead() 메소드를 사용합니다. 이때 첫번째 값으로 상태 코드를 전달하고, 두번째 값으로 HTTP 헤더 정보를 전달합니다. 아래 코드는 200 이라는 상태코드와 text/html이라는 MIME 타입을 전달합니다. res.end() 메소드를 통해 응답을 마무리하며, Hello World~라는 문자열을 출력합니다. listen() 메소드를 호출하여 서버를 종료시키기 전까지 지속적으로 대기를 합니다. 매개변수로는 서버의 포트번호와 서버가 실행되는 순간 실행되는 콜백 함수가 전달됩니다.

var http = require('http');  
http.createServer(function(req, res){ 	
	res.writeHead(200, {'Content-Type': 'text/html'}); 	
	res.end('Hello World~'); 
}).listen(8080, function(){ 	
	console.log('Server running at http://127.0.0.1:8080'); 
});

 

 

웹 서버 소스 실행하기

위에서 설명드린 코드를 메모장에 붙여넣기 한 다음 [파일명].js 의 형식으로 이름을 저장합니다. 저는 first_node_server.js으로 저장했습니다. 이제 명령 프롬프트(cmd)창을 열고 파일이 저장된 위치로 이동한 후 node [파일명].js를 실행합니다. 제가 생성한 파일명을 넣어보면 node first_node_server.js 이렇게 입력한 후 실행해주면 됩니다. 그러면 listen() 메소드의 콜백 함수기 실행되어 Server running at http://127.0.0.1:8080 라는 메시지를 아래와 같이 찍히는걸 보실수있습니다.

 

웹 서버가 잘 실행되고 있는지 확인하려면 브라우저로 들어가 보아야 합니다. 브라우저를 열고 주소창에http://127.0.0.1:8080를 입력하면 아래와 같이 Hello World~가 찍히는걸 보실 수 있습니다.