nodejs server 서버 만들기 (기본)
이번 포스팅에서는 nodejs를 활용해 간단한 서버를 구현하는 방법을 알아보도록 하겠습니다.
개발툴은 이전에 포스팅한 ATOM을 사용하도록 하겠습니다.
Link : node.js를 위한 무료 텍스트 에디터 추천 ATOM
nodejs 서버를 만들기 위해선 기본 모듈인 http가 필요합니다.
http로 서버객체를 생성해 클라이언트의 요청에 응답할 수 있습니다.
http 모듈을 사용하기 위해선 require를 사용해 http 모듈을 import 해야 합니다.
1 |
const http = require('http'); |
cs |
이렇게 http 객체를 생성하면 http의 기능을 사용할 수 있는데요.
createServer function을 활용해 서버를 생성해 보겠습니다.
1
2
3
4
5
6 |
const http = require('http');
const server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, world');
}); |
cs |
createServer 의 콜백함수의 매개변수로 request와 response를 받아 처리 할 수 있는
server 객체를 생성했습니다.
객체는 생성되었지만 실행은 되지 않은 상태이죠.
서버를 실행하기 위해선 listen function의 호출이 필요합니다.
1
2
3
4
5
6
7
8
9 |
const http = require('http');
const server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, world');
});
server.listen(3000);
console.log('localhost 의 3000번 포트로 서버를 실행해'); |
cs |
listen함수의 매개변수는 포트 입니다. console.log에 찍히는 것과 같이
localhost 의 3000번 포트로 서버를 실행하게 되는 것입니다.
그럼 서버를 실행해 보도록 하죠.
해당 파일을 node 명령어로 실행해서 서버가 실행된 상태입니다.
브라우져에 localhost:3000 을 요청을 해보도록 하죠.
서버가 실행되어 요청에 대한 응답으로 Hello, world가 찍혔습니다.
nodejs를 활용해 정말 간단하게 서버가 구현되었습니다.
기존에 서버사이드 언어들은 tomcat, IIS 와 같은 WAS 가 필요하지만
nodejs는 WAS 없이 서버가 구동되었네요!
그럼 추가적으로 각 경로 요청에 대한 다른 응답을 처리하는 방법을 알아보겠습니다.
별도의 모듈은 사용하지 않고 기본 nodejs로 구현하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
const http = require('http');
const server = http.createServer(function(req, res){
let url = req.url;
console.log(url);
let returnText = '';
if (url=='/'){
returnText = 'Hello, world';
}else if(url=='/javascript'){
returnText = 'Hello, ECMAScript';
}else if(url=='/nodejs'){
returnText = 'Hello, nodejs';
}
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(returnText);
});
server.listen(3000);
console.log('localhost 의 3000번 포트로 서버를 실행해');
|
cs |
(서버를 재실행 한 후 실행하세요)
request 의 url 을 받아서 각각의 url 별로 다른 리턴을 해주었습니다.
request의 url 에 요청 URL 문자열이 들어있는 것을 확인하실 수 있습니다 .(req.url)
이처럼 다른 응답에 따른 각각의 응답 처리도 가능합니다.
'Programing > Node.js' 카테고리의 다른 글
nodejs 핵심 모듈 express 설치 및 설정 (0) | 2017.12.06 |
---|---|
nodejs 배열 값 섞기 shuffle-array (0) | 2017.12.05 |
nodejs 개발환경 설정 jsHint 소스 품질 향상 (0) | 2017.12.05 |
node.js 를 위한 무료 텍스트 에디터 추천 ATOM (0) | 2017.12.04 |
node.js 설치방법과 간단한 실행 (0) | 2017.12.04 |
댓글