| 항목 | 웹 서버 (Web Server) | 웹 프레임워크 (Web Framework) |
| 역할 | 클라이언트의 요청(HTTP)을 받고, 정적 파일 제공 또는 애플리케이션에 전달 | 웹 애플리케이션의 동작 로직(라우팅, DB처리 등)을 처리 |
| 기능 | 정적 파일(CSS, 이미지, JS) 제공, 요청 분배, 리버스 프록시 등 | URL 라우팅, 템플릿 렌더링, ORM, 폼 처리, 보안 등 |
| 주요 예시 | Nginx, Apache, Caddy, IIS | Django (Python), Express (Node.js), Spring (Java), Laravel (PHP) |
| 운영 위치 | 클라이언트와 웹 앱 사이에 위치 (앞단) | 웹 서버 뒤에서 실행 (애플리케이션 내부) |
| 정적 파일 제공 | 빠르고 최적화된 방식으로 제공 | 제공하지 않거나, 개발 환경에서만 임시 제공 |
| 언어 독립성 | 언어에 관계 없이 HTTP 요청 처리 | 특정 프로그래밍 언어 기반 (Python, Java 등) |
🧠 예시로 쉽게 이해하기
📦 웹 서버는 택배 기사
- 사용자의 요청(패키지)을 받아서 적절한 곳(Django, 이미지 파일 등)에 배달해 줍니다.
- 주소가 example.com/static/style.css라면 정적 파일 서버로,
- 주소가 example.com/posts/123이라면 Django 애플리케이션으로 전달합니다.
🧰 웹 프레임워크는 택배 회사 내부 시스템
- 요청받은 데이터를 처리하고, 적절한 결과(HTML 페이지, JSON 데이터)를 생성해서 돌려줍니다.
- 장고는 이런 내부 시스템 전체를 설계하고 동작하게 하는 역할을 합니다.
🎯 결론
- 웹 서버는 "전달자"이자 "정적 파일 제공자"입니다. (빠르고 가벼운 일 전문)
- 웹 프레임워크는 "로직을 수행하는 두뇌"입니다. (회원가입, 글쓰기, 검색 등 처리)
- 실제 배포 환경에서는 둘을 함께 사용해야 합니다.
'Programming > 기술 면접' 카테고리의 다른 글
| [개발자 기술 면접 대비] 네트워크 관련 기출 (6) | 2025.08.04 |
|---|---|
| [개발자 기술 면접 대비] 프로그래밍 공통 기술 면접 정리 (5) | 2025.08.04 |
| [개발자 기술 면접 대비] 📦 허프만 코딩(Huffman Coding)이란? (3) | 2025.07.25 |
| [개발자 기술 면접 대비] 📚 선형 구조 자료형에서의 가산성과 동차성 (3) | 2025.07.25 |
| [개발자 기술 면접 대비] 🌳 검색 자료구조로서 해시 테이블과 이진 탐색 트리 비교 (1) | 2025.07.25 |