본문 바로가기

이노베이션캠프/TIL

이노베이션 캠프 3일차_Node.js 기초 개념 정리

오늘은 Node.js 배우는데 필요한 기본 개념들을 정리해봤습니다

 


웹 서버 & 웹 애플리케션 서버

 

 

구분 설명
웹 서버(Web Server) HTTP를 이용해 클라이언트 요청을 받아 정적인 컨텐츠를 제공
웹 애플리케션 서버(WAS) 웹 서버와 협력하여 동적인 컨텐츠를 처리하고 제공하는 서버

 

 

즉, 웹 서버는 주로 정적 파일 제공, 웹 애플리케이션 서버는 데이터베이스 조회, 로직 처리 등을 담당합니다.

 


✅ Node.js

Node.jsChrome V8 JavaScript 엔진으로 빌드된
자바스크립트 런타임 환경입니다.

즉, 브라우저 없이도 컴퓨터에서 자바스크립트를 실행할 수 있게 해줍니다.


✅ 프로세스와 싱글 스레드

🔸프로세스란?

 

프로그램이 실행되어 메모리 상에 올라간 상태를 의미합니다.
정적인 프로그램이 동적으로 돌아가고 있는 상태라고 생각하면 됩니다.

 

🔸 싱글 스레드의 장점 (Node.js 특징)

 

Node.js는 싱글 스레드 기반입니다.

  • 스레드 생성/관리에 드는 부담이 적음
  • 여러 스레드가 같은 자원에 접근할 때 발생하는 동시성 문제(Race Condition) 최소화

✅ Express.js & 미들웨어

🔸 Express.js

 

Node.js 환경에서 가장 많이 쓰는 웹 프레임워크입니다. 간단하게 웹 서버를 만들고,
다양한 미들웨어를 활용할 수 있게 해줍니다.

 

🔸 미들웨어란?

요청(Request)과 응답(Response) 사이에서
특정 기능을 수행하는 함수입니다.

예를 들면:

  • 요청을 로그로 기록
  • 사용자가 로그인했는지 확인
  • 데이터 가공 등

✅ API & REST

🔸 API란?

 

Application Programming Interface의 줄임말로, 서로 다른 소프트웨어/서비스 간의 연결을 위한 약속입니다.

즉, API를 만든다는 것은 “웹 애플리케이션이 제공할 기능과 사용법을 정해놓는 것”입니다.

 

🔸 REST란?

REST (Representational State Transfer)는 인터넷의 리소스를 사람이 읽기 쉬운 방식으로 표현하고 활용하는 설계 원칙입니다.

 

REST API 구성 요소

구성요소 설명
자원(Resource) URL(예: /users/1)
행위(Action) HTTP Method(GET, POST, PUT, DELETE 등)
표현(Representatiion) 주로 JSON 형식으로 데이터 표현

 

HTTP Method와 CRUD

행위 HTTP Method 설명
생성 POST 리소스 생성
조회 GET 리소스 조회
수정 PUT / PATCH 리소스 수정
삭제 DELETE 리소스 삭제