본문 바로가기

LECTURE/# Node.js basic

[초급 Node.js] HTTP 모듈 예제

반응형

by commin

HTTP 모듈

http 모듈은 Node.js에서 기본적으로 제공되는 모듈 중 하나로, HTTP 서버 및 클라이언트를 만들기 위해 사용됩니다. 이 모듈은 Node.js에서 제공하는 다양한 기능을 사용하여 간단한 HTTP 서버를 만들 수 있습니다.

HTTP 서버 생성 및 실행

먼저 http 모듈을 사용하여 HTTP 서버를 생성해보겠습니다. 아래 코드는 http.createServer() 메서드를 사용하여 HTTP 서버를 생성하는 방법을 보여줍니다.

const http = require('http');

const server = http.createServer((req, res) => {
  // 요청 처리
});

const port = 3000;
server.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

위 코드에서 http.createServer() 메서드는 요청 처리 함수를 인자로 받습니다. 요청이 발생하면 이 함수가 호출됩니다. 이 함수에는 요청(request)과 응답(response) 객체가 인자로 전달됩니다.

server.listen() 메서드는 HTTP 서버를 실행하는데 사용됩니다. 이 메서드에는 포트 번호와 서버가 실행될 때 호출될 콜백 함수가 인자로 전달됩니다.

요청 처리하기

요청 처리 함수에서는 요청 객체를 통해 클라이언트가 요청한 내용을 읽어들일 수 있습니다. req 객체는 다양한 속성을 가지고 있는데, 그 중에서도 url 속성을 이용하여 클라이언트가 요청한 URL을 가져올 수 있습니다.

const server = http.createServer((req, res) => {
  console.log(`Requested URL: ${req.url}`);
});

위 코드에서는 요청이 들어올 때마다 요청한 URL을 콘솔에 출력하도록 설정하였습니다.

반응형

응답 보내기

요청 처리 함수에서는 응답 객체를 통해 클라이언트에게 응답을 보낼 수 있습니다. res 객체는 다양한 메서드를 가지고 있는데, 그 중에서도 writeHead() 메서드와 end() 메서드를 사용하여 응답 헤더와 본문을 설정할 수 있습니다.

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!');
});

res.writeHead() 메서드는 응답 헤더를 설정하는 메서드입니다. 이 메서드를 호출하여 응답 헤더를 설정하면 클라이언트에게 전송되는 데이터에 대한 정보를 설정할 수 있습니다.

res.writeHead() 메서드는 첫 번째 인자로 HTTP 상태 코드를 전달하고, 두 번째 인자로 응답 헤더를 설정하는 객체를 전달합니다. 예를 들어, 200 상태 코드와 함께 "Content-Type" 헤더를 설정하려면 아래와 같이 작성할 수 있습니다.

res.writeHead(200, { 'Content-Type': 'text/plain' });

이제 HTTP 요청에 대한 응답 데이터를 생성하고, res.write() 메서드를 사용하여 응답 데이터를 클라이언트에게 전송할 수 있습니다. 마지막으로, res.end() 메서드를 호출하여 응답을 종료합니다.

//app.js
const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.write('Hello World!');
  res.end();
});

server.listen(3000, () => {
  console.log('Server is listening on port 3000');
});

위 코드에서는 요청이 들어오면 "Hello World!" 문자열을 응답으로 전송합니다. 클라이언트는 이를 받아 화면에 출력할 것입니다. 이제 브라우저에서 "localhost:3000" 주소를 입력하여 서버가 제대로 작동하는지 확인해보세요.

 

반응형