Page 14 -
P. 14

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

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

               노드의 특성을 알아봅시다.




               1.1.2 자바스크립트 런타임


               공식 사이트에 게시된 노드 소개글을 다시 한 번 보겠습니다.

                          Ⓡ
                   Node.js 는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다.
               노드는 자바스크립트 런타임입니다. 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환

               경을 뜻합니다. 따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있습니다. 쉽게 말
               해 노드는 자바스크립트 실행기라고 봐도 무방합니다. 따라서 여러분이 자바스크립트를 모른다면
               노드를 전혀 활용할 수 없습니다. 이 책을 읽기 전에, 또는 읽으면서 자바스크립트 문법을 따로 공
               부해야 합니다.

               기존에는 자바스크립트 프로그램을 웹 브라우저 위에서만 실행할 수 있었습니다. 브라우저는 자

               바스크립트 런타임을 내장하고 있으므로 자바스크립트 코드를 실행할 수 있습니다. 브라우저 외
               의 환경에서 자바스크립트를 실행하기 위한 여러 시도가 있었으나, 자바스크립트의 실행 속도 문
               제 때문에 모두 큰 호응을 얻지는 못했습니다.

               하지만 2008년 구글이 V8 엔진을 사용하여 크롬을 출시하자 이야기가 달라졌습니다. 당시 V8 엔
               진은 다른 자바스크립트 엔진과 달리 매우 빨랐고, 오픈 소스로 코드를 공개했습니다. 속도 문제
               가 해결되자 라이언 달(Ryan Dahl)은 2009년 V8 엔진 기반의 노드 프로젝트를 시작했습니다.














         26





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