Node.js를 이용해 웹 서버를 만드는 것은 생각보다 간단하다.
Node.js의 CommonJS(CJS) 모듈 시스템을 활용해 코드 한두 줄로 웹 서버를 구현할 수 있다.
CJS 방식을 사용해 간단한 HTTP 서버를 만드는 방법을 알아보자!
1. CommonJS(CJS)란?
Node.js는 자바스크립트를 서버에서 실행할 수 있게 해주는 환경이고, 기본적으로 CommonJS(CJS)라는 모듈 시스템을 사용한다.
CJS 방식에서는 require로 모듈을 가져오고 module.exports로 내보낸다.
이는 Node.js 초기부터 사용되어온 방식이라 많은 프로젝트에서 사용된다.
2. HTTP 모듈로 서버 만들기
Node.js에는 HTTP 서버를 쉽게 만들 수 있는 http 모듈이 있다.
이 모듈을 사용해 요청(request)과 응답(response)을 처리할 수 있다.
주요 메서드는 다음과 같다.
- http.createServer(): HTTP 서버를 생성하고, 요청이 들어올 때 실행할 콜백 함수를 등록한다.
- res.writeHead(): 응답 헤더에 상태 코드와 콘텐츠 타입 등을 설정한다.
- res.write(): 응답 본문에 데이터를 쓴다.
- res.end(): 응답을 마무리한다.
3. 간단한 HTTP 서버
const http = require('http');
const server = http.createServer((req,res) => {
res.writeHead(200, {'Content-type' : 'text/plain'});
res.write('Hello node.js');
res.end();
});
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
간단하게 코드의 흐름을 설명한다면
- http.createServer(): 요청이 들어올 때마다 실행되는 서버를 만든다.
- res.writeHead(): 상태 코드 200과 콘텐츠 타입을 text/plain으로 설정해 응답을 준비한다.
- res.write(): "Hello node.js"라는 응답 본문을 작성한다.
- res.end(): 응답을 끝낸다.
이 서버는 localhost:3000에서 요청을 기다린다.
터미널에서 아래 명령어로 서버를 실행한다.
node 파일명.js
서버가 정상적으로 시작되면, http://localhost:3000에 접속해 "Hello node.js" 메시지를 확인해보자!
'Node.js' 카테고리의 다른 글
[Node.js] Node.js 의 특징 : 확장성 (1) | 2024.11.05 |
---|---|
[Node.js] Node.js 의 특징 : 구조 (0) | 2024.11.05 |
[Node.js] Node.js 란? (1) | 2024.11.05 |