Node js 서버

»

Node.js 서버

서버 구축

//! server.js

// 투두리스트에서 보내는 투두를 저장할 노드 서버

// 1. 서버 사용을 위해서 http 모듈을 http 변수에 담는다. (모듈과 변수의 이름은 달라도 된다.)
let http = require("http");

// 2. http 모듈로 서버를 생성한다.
//    아래와 같이 작성하면 서버를 생성한 후, 사용자로 부터 http 요청이 들어오면 function 블럭내부의 코드를 실행해서 응답한다.
let server = http.createServer(function (request, response) {
  response.writeHead(200, { "Content-Type": "text/html" });
  response.end("Hello node.js!!");
});

// 3. listen 함수로 5001 포트를 가진 서버를 실행한다. 서버가 실행된 것을 콘솔창에서 확인하기 위해 'Server is running...' 로그를 출력한다
server.listen(5001, function () {
  console.log("Server is running...");
});

서버 실행 및 접속

해당 파일에 폴더로 들어가서 CMD에 node server 를 쳐본 후 해당 포트로 들어가보면 아래와 같이 실행됩니다

![Node%20js%20%E1%84%89%E1%85%A5%E1%84%87%E1%85%A5%20b81aacf700b74842898c655d2d27f230/.png](Node%20js%20%E1%84%89%E1%85%A5%E1%84%87%E1%85%A5%20b81aacf700b74842898c655d2d27f230/.png)

소스코드 분석

  • require

      let http = require('http');
    

    require는 다른언어의 import와 유사한 기능입니다 즉 http 모듈을 require로 불러옵니다

  • createServer

      let server = http.createServer( function(request, response) {
    
      	response.writeHead(200,{'Content-Type':'text/html'});
        response.end('Hello node.js!!');
    
      });
    

    위에 코드를 보면 함수가 이름이 없이 그냥 작성되 있습니다 그래서 이벤트 발생시에 콜백으로 동작합니다

    그래서 서버에서 들어온 요청을 function 내부에서 선언한 request와 response라는 이름으로 사용할 수 있는 값을 넘겨줄수 있게됩니다

    response 객체는 서버로 웹브라우저나 앱으로부터 어떤 요청이 있을때 요청한 사용자 측으로 반환해줄때 사용하는 객체입니다

    request 객체는 사용자가 요청한 내용이 담겨있는 객체입니다

  • writeHead writeHead() 함수는 response객체를 이용해 사용자 측으로 반환값을 넘겨주는데 첫인자로는 http상태코드를 두번째 인자로는 {'키': '값'} 형태의 값을 담습니다 (이게 meme타입인가 그럼)

      response.writeHead(200, {'Content-Type':'text/html'});
    

    오류없이 처리가 됬으면 200 으로 응답헤더를 설정해주게 됩니다

클라이언트 요청 처리

참조

3. 서버구축하기 - http basic