본문 바로가기
온라인 멘토와 함께하는 공부/JS

[NodeJS] 학습자에게 소개하는 http.createSever 함수

by 열공노년 2024. 5. 26.
반응형

학습자에게 소개하는 http.createSever 함수

http.createServer 함수는 Node.js에서 HTTP 서버를 생성할 때 가장 중요한 함수 중 하나입니다. 학생들에게 이 함수를 소개할 때, 다음 사항들을 설명하는 것이 좋습니다.

1. 기본 개념 소개

  • 역할: http.createServer 함수는 HTTP 서버 객체를 생성합니다. 이 서버는 클라이언트 요청을 수신하고 응답을 반환하는 역할을 합니다.
  • 매개변수: 이 함수는 클라이언트 요청(req)과 서버 응답(res)을 처리하는 콜백 함수를 인자로 받습니다.

2. 기본 사용법

간단한 예제를 통해 http.createServer 함수의 기본 사용법을 소개합니다.

const http = require('http');

// 서버를 생성합니다.
const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello, World!\n');
});

// 서버를 특정 포트에서 대기시킵니다.
const PORT = 3000;
server.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

3. 요청과 응답 객체 설명

  • req 객체: 클라이언트의 요청 정보를 담고 있습니다. URL, HTTP 메서드, 헤더 등의 정보를 포함합니다.
  • res 객체: 서버의 응답을 구성하는 객체로, 응답 헤더와 본문을 설정할 수 있습니다.

4. 다양한 경로 처리

다양한 경로에 따라 다른 응답을 제공하는 방법을 소개합니다.

const http = require('http');

const server = http.createServer((req, res) => {
  if (req.url === '/') {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<h1>Hello, World!</h1>\n');
  } else if (req.url === '/about') {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<h1>About Page</h1>\n');
  } else {
    res.writeHead(404, { 'Content-Type': 'text/html' });
    res.end('<h1>404 Not Found</h1>\n');
  }
});

const PORT = 3000;
server.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

5. 고급 사용법 소개 (선택 사항)

학생들의 이해도가 높다면, 더 고급 사용법을 소개할 수 있습니다.

  • 라우팅: 경로에 따른 다양한 처리 로직을 정의합니다.
  • 미들웨어: 요청 처리 전후에 공통적으로 수행해야 할 작업을 정의합니다.
  • 외부 라이브러리: Express.js와 같은 라이브러리를 사용하여 더 쉽게 서버를 구축하는 방법을 소개합니다.

요약

학생들에게 http.createServer 함수를 소개할 때, 기본 개념과 사용법을 명확하게 설명하고, 요청(req)과 응답(res) 객체의 역할을 이해시키는 것이 중요합니다. 이후 다양한 경로 처리 예제를 통해 실습하며, 필요에 따라 고급 개념을 소개하는 것이 좋습니다. 이렇게 하면 학생들이 HTTP 서버의 기본 동작을 이해하고, 실전에서 활용할 수 있는 능력을 기를 수 있습니다.

반응형