[유튜브강의] Smart Lab. 코드기어 NodeJS기초- 08.Http 서버만들기-1
페이지 정보

관련링크
본문
// https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/
const http = require('http'); // 우선 웹서버 객체를 만듭니다.
const server = http.createServer();
server.listen(8080);
server.on('listening', () => {
console.log(`listen on 8080 !!!`);
});
server.on('request', (request, response) => {
console.log(request.headers);
const { headers, method, url } = request; // request에는 url, method, header 등의 정보가 포함됩니다.
const userAgent = headers['user-agent'];
console.log(`method : ${method}`);
console.log(`url : ${url }`);
console.log(`userAgent : ${userAgent}`);
let body = []; // post나 put의 request에서 stream으로 전달되는 data와 end를 이용하면 body를 읽어올 수 있습니다.
request.on('error', (err) => {
console.error(err); // 여기서 `stderr`에 오류 메시지와 스택 트레이스를 출력합니다.
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
console.log(body);
response.write('<h1>Node Server</h1>');
response.end();
});
// 다음과 같이 /echo로 요청하는 post 메소드에 대해서 응답하는 서버를 만들 수 있습니다.
// if (request.method === 'POST' && request.url === '/echo') {
// request.pipe(response);
// } else {
// response.statusCode = 404;
// response.end();
// }
}); // 이때 사용된 createServer는 server 객체를 생성하고 발생한 이벤트를 전달하는 역할을 합니다.
[유튜브강의] Smart Lab. 코드기어 NodeJS기초-11.Express 라우팅 분리하기 - 2025-02-15 (로봇)
[유튜브강의] Smart Lab. 코드기어 NodeJS기초-10.Express 서버 만들기2-미들웨어 - 2025-02-15 (로봇)
[유튜브강의] Smart Lab. 코드기어 NodeJS기초-09.Express 서버 만들기1-특징과설치 - 2025-02-14 (로봇)
144,135,134,133
[유튜브강의] Smart Lab. 코드기어 NodeJS기초-09.Express 서버 만들기1-특징과설치
[유튜브강의] Smart Lab. 코드기어 NodeJS기초-06.Nodejs+MySQL 연동하기
[유튜브강의] Smart Lab. 코드기어 Nodejs 기초 [12]
[ 블로그 ] 코드 기어 Code Gear
댓글목록

로봇님의 댓글
로봇 작성일
const http = require('http'); // 우선 웹서버 객체를 만듭니다.
http.createServer((request, response) => { // 생성한 서버에서 request를 받아 처리할 수 있습니다.
const { headers, method, url } = request; // request에는 url, method, header 등의 정보가 포함됩니다.
let body = []; // post나 put의 request에서 stream으로 전달되는 data와 end를 이용하면 body를 읽어올 수 있습니다.
request.on('error', (err) => {
console.error(err);
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
response.on('error', (err) => {
console.error(err);
});
// 다음과 같이 /echo로 요청하는 post 메소드에 대해서 응답하는 서버를 만들 수 있습니다.
// if (request.method === 'POST' && request.url === '/echo') {
// request.pipe(response);
// } else {
// response.statusCode = 404;
// response.end();
// }
response.writeHead(200, {'Content-Type': 'application/json'})
const responseBody = { headers, method, url, body };
response.end(JSON.stringify(responseBody))
});
}).listen(8080);
// 이때 사용된 createServer는 server 객체를 생성하고 발생한 이벤트를 전달하는 역할을 합니다.

로봇님의 댓글
로봇 작성일
const http = require('http');
http.createServer((request, response) => {
const { headers, method, url } = request;
let body = [];
request.on('error', (err) => {
console.error(err);
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
response.on('error', (err) => {
console.error(err);
});
response.writeHead(200, {'Content-Type': 'application/json'})
const responseBody = { headers, method, url, body };
response.end(JSON.stringify(responseBody))
});
}).listen(8080);

로봇님의 댓글
로봇 작성일
에코 서버 만들기
다음과 같이 /echo로 요청하는 post 메소드에 대해서 응답하는 서버를 만들 수 있습니다.
const http = require('http');
http.createServer((request, response) => {
request.on('error', (err) => {
console.error(err);
response.statusCode = 400;
response.end();
});
response.on('error', (err) => {
console.error(err);
});
if (request.method === 'POST' && request.url === '/echo') {
request.pipe(response);
} else {
response.statusCode = 404;
response.end();
}
}).listen(8080);