[Node] 노드로 만들 수 있는 서버

노드로 만들 수 있는 서버

노드의 등장으로 인해 웹 브라우저에서 동작하는 JavaScript를 이용하여 서버까지 구현이 가능해졌다. 하나의 언어로 애플리케이션 전체를 구현할 수 있게 된 것이다.

서버가 뭔데?

다른 곳에 있는 단말에 데이터를 달라고 요청하는 프로그램을 클라이언트(Client), 다른 곳에서 요청받은 명령을 처리해주는 프로그램을 서버(Server)라고 한다. 이때 서버는 포트(Port)를 지정하여 그 포트로 요청을 받을 수 있다.

서버를 만들어 실행하면 지정된 포트에서 클라이언트로부터 요청을 받아 처리한다. 또한 대부분의 서버는 데이터베이스에 연결할 수 있도록 구성되기 때문에 클라이언트에서 보내온 데이터를 저장하거나 저장된 데이터를 조회한 후 클라이언트에 보내준다.

굉장히 다양한 서버의 유형 중에서 우리가 많이 사용하는 웹 브라우저에서 접속하는 서버를 웹 서버라고 하며, HTTP 프로토콜을 사용한다.

그럼 웹 서버 말고 또 어떤 서버가 있을까?

만들려는 애플리케이션이 무엇인지에 따라 필요한 서버 유형이 달라진다. 웹 서버, 채팅 서버, 모바일 서버 등 서버의 유형은 굉장히 다양하지만 우리는 웹 브라우저에서 웹 문서를 요청할 때 필요한 기능을 수행하는 웹 서버에 대해서 알아보자.


노드로 웹 서버를 만들자

Node.js에서 제공하는 다양한 모듈(Module)을 사용하여 웹 서버를 만들 수 있다.

  • 익스프레스(Express)
  • 몽고디비(MongoDB)
  • 뷰 탬플릿(View Template)
  • 패스포트(Passport)

웹 프레임워크인 익스프레스(Express)가 웹 서버에 필요한 파일들을 자동으로 만들어주기 때문에 익스프레스로 기본 구조를 만들고, 몽고디비(MongoDB)를 이용해서 데이터를 저장하거나 조회할 수 있다. 뷰 탬플릿(View Template)은 클라이언트에 응답을 보낼 때 사용하려고 미리 웹 문서의 원형(Template)을 만들어 놓은 것이며, 패스포트(Passport)는 사용자 로그인이나 회원가입을 위해 사용한다.

Share