본문 바로가기
NodeJS

[Node.JS] 기초 개념

by Yeoseungwon 2023. 6. 4.
728x90

노드란 ? 

 Node.js 는 Chrome V8 Javascript 엔진으로 빌드된 자바스크립트 런타임입니다. 

 

대부분 노드를 서버로 알고 있지만 공식사이트에서는 서버로 소개하고 있지 않다. 

노드를 배울때는 전반적으로 서버를 실행하는 방법을 다루지만, 노드가 서버만 실행할 수 있는 것은 아니다. 

서버 외의 자바스크립트 프로그램을 실행하는 런타임으로 사용하는 방법도 있다. 

 

서버와 런타임이란? 

 

1. 서버 

① 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램을 말한다. 클라이언트란 요청을 보내는 주체로 브라우저일 수도 있고, 데스크톱 프로그램일 수도 있고, 모바일 앱일 수도 있고, 다른 서버에 요청을 보내는 서버일 수도 있다. 

② 평소에 웹 사이트의 화면(HTML)은 어디서 가져오며, 앱의 설치 파일은 어디에서 내려 받는 것일까 

    - 웹 사이트의 주소 (http:// www.~) 를 입력(요청)하면 , 브라우저는 그 주소에 해당하는 컴퓨터 위치를 파악하고 그 컴퓨터로부터

      웹 사이트 페이지를 받아와서 요청자의 브라우저(클라이언트)에 띄운다(응답). 이런 일을 하는 컴퓨터가 바로 서버이다. 

    - 앱 설치파일도 마찬가지로 이미 어딘가에 저장되어 있다. 그 어딘가가 구글과 애플의 서버이다.

      그럼 play store 와 app store 는 클라이언트 역할을 하는 것이다. 

    - 웹이나 앱을 사용할 때는 내가 사용하는 데이터와 서비스의 데이터가 생성된다. 이 데이터를 어딘가에 저장하고, 

      그 어딘가에서 클라이언트로 데이터를 받아와야 한다. 이곳이 바로 서버이다. 

 

2. 자바스크립트 런타임 

① 노드는 자바스크립트 런타임이다.  런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다. 

    => 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있다. (노드 == 자바스크립트 실행기)

          * 기존의 자바스크립트는 웹 브라우저에서만 실행할 수 있었음 (브라우저는 자바스크립트 런타임을 내장하고 있다)

728x90

'NodeJS' 카테고리의 다른 글

[NodeJS] http - 요청과 응답  (0) 2023.06.30
[NodeJS] 자주 발생하는 에러들  (0) 2023.06.29
[NodeJS] 예외 처리하기  (0) 2023.06.29
[NodeJS] 모듈 만들기  (0) 2023.06.25
[NodeJS] REPL / JS파일 실행하기  (0) 2023.06.24