Dev./Node.js

[Node.js] hello world 웹 서버 만들기

인쥭 2021. 3. 31. 15:14
반응형
# vi main.js

const url = require('url');
const http = require('http');

const app = http.createServer((req, res) => {
  const _url = req.url;
  const queryData = url.parse(_url, true);
  console.log(queryData);

  let msg = '';
  switch(_url) {
    case '/':
      msg = 'hello world! :D';
      break;
    default:
      msg = 'bye world ;(';
      break;
  }

  res.writeHead(200);
  res.end(msg);
});

app.listen(8081);
  • 실행은 node main.js
  • 접속은 브라우저를 열고 localhost:8081 입력
  • _url과 queryData를 통해 접속 시도 url과 queryString을 알아낼 수 있다.
  • url.parse?
    • url.parse(url, parseQueryString, slashesDenoteHost);
    • url : url 문자열을 입력
    • parseQueryString : boolean이며, true일 경우 queryString 정보를 객체화 / false일 경우 문자열 그대로 반환
    • slashesDenoteHost : boolean이며, true일 경우 문자열 '//'이후부터 다음 '/' 문자열이 나올때까지를 host로 해석
      (http://ingnoh.tistory.com/hello에서 slashesDenoteHost가 true이면 ingnoh.tistory.com를 host 취급,
      그 이후인 /hello를 path로 취급.
      false이면 //ingnoh.tistory.com/hello 모두 path로 취급, host는 null!
    • parseQueryString, slashesDenoteHost은 default 값이 false임에 유념할 것.