오늘은 Node.js 배우는데 필요한 기본 개념들을 정리해봤습니다
✅ 웹 서버 & 웹 애플리케션 서버
구분 | 설명 |
웹 서버(Web Server) | HTTP를 이용해 클라이언트 요청을 받아 정적인 컨텐츠를 제공 |
웹 애플리케션 서버(WAS) | 웹 서버와 협력하여 동적인 컨텐츠를 처리하고 제공하는 서버 |
즉, 웹 서버는 주로 정적 파일 제공, 웹 애플리케이션 서버는 데이터베이스 조회, 로직 처리 등을 담당합니다.
✅ Node.js
Node.js는 Chrome 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 | 리소스 삭제 |
'이노베이션캠프 > TIL' 카테고리의 다른 글
이노베이션 캠프 6일차_JSON 데이터가 정상 로드 안 되는 현상 (0) | 2025.07.12 |
---|---|
이노베이션 캠프 5일차_무한 루프 로비 화면 (0) | 2025.07.11 |
이노베이션 캠프 4일차_MongoDB, 미들웨어, Joi, Prettier (1) | 2025.07.10 |
이노베이션 캠프 2일차_4주차 강의 정리 (0) | 2025.07.08 |
이노베이션 캠프 1일차_3주차 강의 정리 (0) | 2025.07.07 |