Node.js란?
Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.
런타임: 특정 언어로 만든 프로그램들을 실행할 수 있는 환경
Node.js: JavaScript 실행기
노드는 서버 애플리케이션을 실행하는데 가장 많이 사용됨
- 서버: 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
- 역할: 클라이언트의 요청에 대해 응답함
- 클라이언트: 요청을 보내는 주체
- 브라우저, 데스크톱 프로그램, 모바일 앱 ..
- 클라이언트: 요청을 보내는 주체
노드의 특징
- 싱글 스레드
- 논블로킹 I/O
- 사용하기 적합한 환경: 개수는 많지만 크기는 작은 데이터를 실시간으로 주고 받을때
- 실시간 채팅 어플리케이션, 주식차트, JSON데이터 제공하는
http 모듈로 서버 만들기
- 클라이언트 --요청--> 서버
- <--응답--
- 요청과 응답은 이벤트 방식, 이벤트 리스너를 등록해야함
const http = require('http');
http.createServer((req, res) => {
//어떻게 응답할지
});
- http 모듈에 createServer 메서드 존재.
- 인수로 요청req에 대한 콜백 함수를 넣을 수 있음
- 요청이 들어올 때마다 콜백 함수 실행 (콜백 함수 안에 응답res 적응면 됨)
- 응답 및 서버 연결
- res.writeHead: 응답에 대한 정보 기록
- res.write: 첫 번째 인수는 클라이언트로 보낼 데이터
- res.end: 응답을 종료하는 메서드
const http = require('http');
http.createServer((req,res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.write('<h1> Hello Node! </h1>');
res.end('<p> Hello Server! </p>');
})
.listen(8080, () => { //서버 연결
console.log('8080번 포트에서 서버 대기 중');
});
'Node.js' 카테고리의 다른 글
[백엔드]인증, 인가 (0) | 2022.06.15 |
---|---|
URL: 같은 파일이지만 서로 다른 페이지를 보여주는 방법 (0) | 2022.06.14 |
엔드 포인트Endpoint, 엔트리 포인트Entrypoint (0) | 2022.06.14 |
Layered pattern, 관심사의 분리 (feat. MVC pattern) (0) | 2022.06.14 |
에러 처리, 미들웨어 (0) | 2022.06.13 |