웹 페이지를 만들 때 사용하는 HTML이라는 언어가 있고 함께 쓰는 언어인 JavaScript라는 언어도 있다.
JavaScript는 HTML을 조작하고 클릭을 통해 이벤트를 발생시키도록 하는 언어이다.
그렇다면 이 JavaScript는 누가 구동시킬까?
바로 '브라우저'가 구동시킨다
브라우저 | 엔진(JavaScript) |
크롬 | V8 |
파이어폭스 | Chakra |
IE | SpiderMonkey |
여러 브라우저 엔진들 중에서 크롬의 V8이 너무 잘 작동해서 구글에서 V8을 따로 출시하게 된다. 이게 바로 Node.js이다.
즉, Node.js란 JavaScript 실행창, 실행환경이다. (= 런타임)
Node.js를 사용하면 브라우저가 아닌 로컬 PC에서도 자바스크립트를 실행시켜줄 수 있다.
Node.js의 특징 - Non blocking I/O
일반 server VS Node.js server
[일반 server]
1. 1초가 걸리는 작업 좀 해줘
2. 서버는 1초동안 작업을 진행한다.
3. 200초가 걸리는 작업 좀 해줘
4. 서버는 200초 동안 작업을 진행한다.
5. 서버는 200초 동안 다른 작업을 진행하지 못한다.
[Node.js server]
1. 200초가 걸리는 작업 좀 해줘
2. 1초가 걸리는 작업 좀 해줘
3. 들어온 순서에 상관없이 먼저 처리 된 순서대로 출력한다.
4. 1초가 걸리는 작업 완료 후 출력
5. 200초가 걸리는 작업 완료 후 출력
장점
- 많은 요청도 멈추거나 대기시간 없이 처리가 가능하다. (SNS, 채팅 서비스)
- 코드가 매우 짧고 쉽다. - 프로토 타입을 만들기 쉽다.
단점
- 웹 서비스가 아닌 용도의 서버로 사용하기에는 추천하지 않는다.
'Server > Node.js' 카테고리의 다른 글
폼에 입력한 데이터를 서버에 전송하는 법(POST) (0) | 2023.08.24 |
---|---|
서버에서 HTML 파일전송해보기 (0) | 2023.08.22 |
control + c로 서버를 끄지 않고 실시간으로 서버에 적용하기 (0) | 2023.08.22 |
내 서버에 GET 요청 처리하기 (0) | 2023.08.21 |
Node.js 설치 + express 라이브러리 설치하기 (0) | 2023.08.18 |