더북(TheBook)

모바일 앱을 설치하는 경우를 생각해봅시다. 구글의 플레이 스토어나 애플의 앱스토어에서 원하는 앱을 골라서 설치 버튼을 누르면(요청) 내려받기(응답)가 시작됩니다. 앱 설치 파일은 이미 어딘가에 저장되어 있으므로 여러분이 그곳에서 데이터를 받아와 모바일 기기에 설치할 수 있는 것입니다. 그 어딘가가 구글과 애플의 서버입니다. 플레이 스토어와 앱스토어는 클라이언트 역할을 하는 것이고요.

웹이나 앱을 사용할 때 여러분의 데이터(아이디, 비밀번호, 이메일 등)와 서비스의 데이터가 생성됩니다. 이 데이터를 어딘가에 저장하고, 그 어딘가에서 클라이언트로 데이터를 받아와야 합니다. 이곳이 바로 서버입니다.

서버라고 해서 요청에 대한 응답만 하는 것은 아닙니다. 다른 서버에 요청을 보낼 수도 있습니다. 이때는 요청을 보낸 서버가 클라이언트 역할을 합니다.

정리하면, 서버는 클라이언트의 요청에 대해 응답을 합니다. 응답으로 항상 Yes를 해야 하는 것은 아니고, No를 할 수도 있습니다. 여러분이 어떤 사이트로부터 차단 당했다면 그 사이트의 서버는 여러분의 요청에 매번 No를 응답할 것입니다.

노드는 자바스크립트 애플리케이션이 서버로서 기능하기 위한 도구를 제공하므로 서버 역할을 수행할 수 있습니다. 다른 언어를 사용하지 않고 왜 굳이 노드를 사용해 서버를 만드는지 의문이 들 수도 있습니다. 궁금증을 해결하려면 먼저 노드의 특성에 대해 알아야 합니다. 공식 사이트에 게시된 노드 소개글을 바탕으로 노드의 특성에 대해 알아봅시다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.