웹 애플리케이션의 서버 측을 의미하며
데이터베이스와 서버 , 애플리케이션의 로직을 관리
자바스크립트를 스크립트 언어 이상으로 사용할 수 있게 해주는 런타임 환경
=> NodeJS를 이용해서 백엔드 구현 가능!!

클라이언트와 서버가 통신할 때 지켜야 할 규약(약속)
통신 상태 (status Code => 200 : 정상 / 40x : 클라이언트 오류 / 50x : 서버오류)
res.writeHead(200, {'Content-Type': 'text/html'});
// 200 => status Code 200 정상 응답
// 'Content-Type': 'text/html : 콘텐츠 유형은 html이다
```
res.write('Hello!!!!!!!!!'); // 화면에 뿌려질 내용
```

이렇듯 NodeJS로 웹 서버를 만들 수 있고
만들 때 HTTP를 이용해야 한다
모듈화란
큰 문제를 작은 단위로 나누어 다루는 설계 기법
모듈화를 사용하는 이유
로직을 한번만 설정해두면 어디서나 재사용이 가능하기 때문!!
모듈화의 구조

하위 모듈이 함술를 exports하면
상위 모듈이 require로 받아와서 사용할 수 있다
하위 : exports.start = start;
상위 : let server = require('./server');
server.start();
웹 페이지가 어디있는지 알려주는 주소
⚠️URI : 웹 페이지 식별자