HTTP 내장 모듈 기초 (프레임워크 없이 서버 만들기)
외부 라이브러리(Express)를 전혀 쓰지 않고 오직 순수 Node.js만으로 웹 서버를 띄우는 방법입니다. 코드가 너무 길어지고 불편하기 때문에 실무에서는 사용하지 않지만, 웹 서버의 작동 원리(Request와 Response)를 이해하는 데 필수적인 기초입니다.
const http = require("http");
// 서버 객체 생성 (요청이 들어올 때마다 이 콜백이 실행됨)
const server = http.createServer((req, res) => {
console.log(`누군가 ${req.url} 로 접속했습니다!`);
// 응답의 헤더(편지봉투) 작성 (HTML 형태, 한글 깨짐 방지)
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
// 라우팅 (접속 주소에 따라 다른 화면 보여주기)
if (req.url === "/") {
res.write("<h1>메인 페이지입니다</h1>");
} else if (req.url === "/about") {
res.write("<h1>소개 페이지입니다</h1>");
} else {
res.writeHead(404);
res.write("<h1>페이지를 찾을 수 없어요</h1>");
}
res.end(); // 편지봉투 봉인 후 발송!
});
// 8080번 포트에서 접속을 기다림
server.listen(8080, () => {
console.log("8080번 포트에서 서버가 대기 중입니다...");
});