Node.js네트워크

HTTP 서버 시작

`createServer`로 기본 요청/응답 흐름을 만들고, 라우팅 없이 바로 응답하는 간단한 HTTP 서버 패턴을 보여줍니다.

마지막 수정 2026년 3월 17일

기본 패턴

javascript
import { createServer } from "node:http";

const server = createServer((req, res) => {
  if (req.method === "GET" && req.url === "/status") {
    res.writeHead(200, { "Content-Type": "application/json" });
    res.end(JSON.stringify({ ok: true }));
    return;
  }
  res.writeHead(404);
  res.end("Not Found");
});

server.listen(3000, () => {
  console.log("Listening on http://localhost:3000");
});

설명

  • req.urlreq.method로 간단한 라우팅이 가능합니다.
  • res.writeHead로 상태와 헤더를 정리하고, res.end로 바디를 보냅니다.
  • createServerhttp 모듈에서 가져오며, Node.js 18부터는 fetch 이벤트 기반 서버도 가능합니다.

짧은 예제

javascript
server.on("request", (req) => {
  console.log(req.method, req.url);
});

빠른 정리

이름설명
createServer(handler)요청 처리기 등록
res.writeHead(status, headers)상태/헤더 설정
res.end(body)응답 종료

주의할 점

res.end를 두 번 호출하지 않도록, 각 조건에서 return을 넣어 흐름을 정리하세요.