Page 13 -
P. 13

1.1.1 서버


                    노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있지만, 노드는 서버 애플리케이션                                1
                    을 실행하는 데 제일 많이 사용합니다.

                    그럼 서버란 무엇이며, 어떤 역할을 할까요? 서버는 네트워크를 통해 클라이언트에 정보나 서비                               노드 시작하기
                    스를 제공하는 컴퓨터 또는 프로그램을 말합니다. 클라이언트란 요청을 보내는 주체로 브라우저
                    일 수도 있고, 데스크톱 프로그램일 수도 있고, 모바일 앱일 수도 있고, 다른 서버에 요청을 보내
                    는 서버일 수도 있습니다. 여러분이 평소에 사용하는 웹 사이트나 앱을 생각해보세요. 웹 사이트

                    의 화면(HTML)은 어디에서 가져올까요? 앱 설치 파일은 어디에서 내려받는 것일까요?

                       그림 1-2 클라이언트와 서버


                                             요청


                                             응답

                         클라이언트                                서버


                    예를 들어 길벗출판사의 웹 사이트를 방문한다고 생각해봅시다. 주소창에 길벗출판사의 웹 사이
                    트 주소(https://www.gilbut.co.kr/)를 입력(요청)하면 브라우저는 그 주소에 해당하는 길벗
                    출판사의 컴퓨터 위치를 파악합니다. 그리고 그 컴퓨터로부터 길벗출판사의 웹 사이트 페이지를
                    받아와서 요청자의 브라우저(클라이언트)에 띄웁니다(응답). 이런 일을 하는 컴퓨터가 바로 서버

                    입니다.
                    모바일 앱을 설치하는 경우를 생각해봅시다. 구글 플레이 스토어나 애플 앱스토어에서 원하는 앱

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

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

                    이곳이 바로 서버입니다.

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

                                                                                                  25





     node_06.indd   25                                                                      2020-07-14   오전 11:01:51
   8   9   10   11   12   13   14   15   16   17   18