익명의 개발노트

1. Node JS 시작 및 서버의 원리 본문

프로그래밍/NodeJS

1. Node JS 시작 및 서버의 원리

캡틴.JS 2019. 3. 21. 16:46
반응형

Node JS란 무엇인가?


자바스크립트로 만들어진 노드 JS는 크롬 V8 엔진으로 빌드 된 자바스크립트 런타임이다.


기본적으로 웹 브라우져에서 자바스크립트를 많이 썼지만, 노드 JS를 통해서 서버쪽에서도 자바스크립트로 프로그래밍이 가능해졌다.


그동안 웹에서만 실행가능했던 자바스크립트가 서버에서도 실행가는 하게 된 것.


서버를 알기 위해서는 먼저 인터넷의 동작방법에 대해 알 필요가 있다.


클라이언트  -----> 인터넷  -------> 서버


1) 기본적인 원리


=> 클라이언트(사용자 , 갑)이 인터넷에 어떤 자료를 요청하면, 서버(주다, 을)는 원하는 정보를 찾아서 제공해준다.


2) 특징


인터넷은 지구라고 비유하면, 각각의 주소들은 나라, 집이 될 것이다.


주소는 HTTP를 이용해서 찾아갈 수가 있다. HTTPS는 기존 주소를 보안처리한 부분임.

* HTTP는 인터넷을 하기위한 프로토콜(약속)이다. 


일반적으로 컴퓨터에는 0~65535개의 port가 존재한다(항구). 그중에 가장 기본은 80(생략가능)포트이다.


그래서 내가 홍길동내를 찾아가고 싶다. 그러면 주소를 알아야한다. 


HTTP :// 홍길동.com  


홍길동내가 무수히 많다. 우리반에 사는 홍길동 내 집을 알고 싶다. (홍길동내 집 지번에 80번이라고 가정하자)


HTTP :// 홍길동.com:80 을 하면 홍길동내를 찾아 갈 수 있다.


80에 찾아가서 문을 두드리면, 안에 사람이 있으면 두드리는 소리에 반응을 하겠지.


이걸 소스로 작성하면  


const http = require('http');
const hostname = '127.0.0.1';
const port = 80;
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});


이렇게 된다. 노드JS로 실행시키면 해당 주소가 열린다.


가장 기본적인 서버의 원리다.


이렇게 노드로 직접 서버프로그래밍을 하려면, 해야할 것이 무진장 많다. 


그래서 node 생태계안에 있는 express라는 모듈을 사용하고자 한다.


express를 보기 전에 node 생태계인 npm을 알아보자.

반응형

'프로그래밍 > NodeJS' 카테고리의 다른 글

7.[Routing] 처리하기.  (0) 2019.06.09
6. [MYSQL 연동]하기.  (0) 2019.06.09
4. Node.js 프레임워크 종류별 장단점.  (0) 2019.04.29
2. NPM이란?  (0) 2019.03.24
3. express와 템플릿 엔진  (0) 2019.03.24
Comments