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" 주소를 입력하여 서버가 제대로 작동하는지 확인해보세요.


'LECTURE > # Node.js basic' 카테고리의 다른 글
[초급 Node.js] Express 프레임워크를 사용해 봅시다. (0) | 2023.03.30 |
---|---|
[초급 Node.js] 파일 시스템 모듈 (0) | 2023.03.29 |
[초급 Node.js] Node.js 콘솔 애플리케이션 작성 (0) | 2023.03.28 |
[초급 Node.js] Node.js 모듈 시스템 (0) | 2023.03.28 |
[초급 Node.js] Node.js 소개 및 설치 (0) | 2023.03.28 |