간단히 노드 서버 골격 만들기
const http = require('http');
// const http2 = require('http2'); // http2 사용시 모든 브라우저에서 https 와 함께 적용됨. (개발할땐 http로 개발하는게 편함)
// console.log(http.STATUS_CODES);
// console.log(http.METHODS);
const port = 8080;
const server = http.createServer((req,res)=>{
console.log(`server started with ${port}`);
console.log(req.headers);
console.log(req.httpVersion);
console.log(req.method);
console.log(req.url);
/* 응답 전송 */
res.write('Welcome!');
res.end();
});
server.listen(port);
경로에 따른 처리
const http = require('http');
const port = 8080;
const server = http.createServer((req,res)=>{
console.log(`server started with ${port}`);
console.log(req.headers);
console.log(req.httpVersion);
console.log(req.method);
console.log(req.url);
const url = req.url;
if(url === '/'){
res.write('Welcome!');
}else if(url ==='/courses'){
res.write('Courses');
}else {
res.write('Not Found');
}
res.end();
});
server.listen(port);
HTML로 주고 받기
const http = require('http');
const fs = require('fs');
const port = 8080;
const server = http.createServer((req,res)=>{
console.log(`server started with ${port}`);
const url = req.url;
res.setHeader('Content-Type','text/html');
if(url === '/'){
fs.createReadStream('./html/index.html').pipe(res);
}else if(url ==='/test'){
fs.createReadStream('./html/test.html').pipe(res);
}else {
fs.createReadStream('./html/not-found.html').pipe(res);
}
//res.end() pipe이 끝나면 자동으로 end() 처리가 되므로, 수동적으로 호출해줄 필요는 없음
});
server.listen(port);