공부 저장소/Node.js

[생활코딩 Node.js] 2. 웹서버 만들기

tipsygypsy 2022. 7. 31. 20:28

Node.js 웹서버 만들기

  • nodejs는 웹서버 기능을 내장함
  • 아파치 웹서버처럼 서버를 구동할 수 있음

실습

  1. 링크에서 소스를 모두 내려받아 같은 폴더 안에 압축해제
  2. 해당 폴더 내에 main.js 파일을 만들어 아래와 같이 복붙
var http = require('http');
var fs = require('fs');
var app = http.createServer(function(request,response){
    var url = request.url;
    if(request.url == '/'){
      url = '/index.html';
    }
    if(request.url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    response.end(fs.readFileSync(__dirname + url));

});
app.listen(5000);

3. cmd에서 해당 폴더로 이동, node main.js 입력하여 서버 실행
4. 브라우저에서 localhost:5000 접속

간단한 실습인데 사실 잘 안 되었음. 크롬에서는 계속 url이 null값이라며 에러가 나서 헤매다가 엣지로 해 보니 멀쩡하게 잘 되었다. 로그를 찍어 보니 일단 /index.html를 한 번 호출하고(이 때는 잘 됨) /favicon.ico 로 한 번 더 호출해서 두 번째 if 문까지 가서 끝나는데, 크롬에서는 /favicon.ico 대신에 /null 이 호출되었다. main.js에 url이 null일 때의 조건문을 붙여 보기도 하고 별짓을 다 했는데 크롬에서는 안 된다. 이유를 모르겠다 😥 일단 엣지로 되는 건 확인했으니 학습 속행.