노드 서버 만들기

간단히 노드 서버 골격 만들기

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);