📌 면접 답변
Web Server (WS, 웹 서버)
- 정적 컨텐츠 (HTML, CSS, JS, 이미지 등)을 제공
- 동적 컨텐츠 요청 시 WAS로 전달
- 대표적인 웹 서버로 Apache, Nginx 등이 있음
Web Apllication Server
- 서블릿 컨테이너 기능 제공 (Java 기준)
- 동적으로 컨텐츠 생성
- HTTP 요청을 받아 애플리케이션 로직 실행
- JSP, Servlet, Spring, Django, Node.js 같은 프레임워크 실행하는 환경 포함
- 대표적인 WAS로는 Tomcat이 있음
- Spring Boot는 내장 Tomcat이 있음
- WAS는 실행 활경으로, WAS 안에 프레임워크 포함
WAS가 너무 많은 역할을 담당하면 과부화 문제가 발생한다.
때문에 WS와 WAS를 분리하고, WAS는 중요한 애플리케이션 로직에만 집중할 수 있다.
정적 컨텐츠가 많이 사용되는 경우 WS를 증설하고,
애플리케이션 자원이 많이 사용되면 WAS를 증설 한다.
추가 내용
대부분의 프레임워크에서는 내장 WAS를 제공하는데, 개발 단계에서 WAS를 고려해야하는가 ?
- Django, Node.js, Spring Boot, Flask 등 대부분 프레임워크는 내장 WAS 제공
- 개발 환경에서는 성능보다 편리함이 중요하므로 내장 WAS로 충분
- 하지만 동시 접속자 수가 많은 서비스 같은 경우 WAS의 부하 분산, 성능 튜닝 고려
- 멀티 스레드 처리 방식이 필요한 경우, Spring Boot에서는 Tomcatf, Node.js에서는 PM2 사용
- 일반적으로 내장 WAS는 운영환경에 적합하지 않음
📌 내 답변
WAS는 Web Application Server로 우리가 흔히 아는 서비스를 제공해주는 웹 애플리케이션 서버이다.
WAS에는 비지니스 로직과 같은 웹 애플리케이션의 핵심적인 것들이 들어가있다.
Web Server (웹 서버) 같은 경우는 리버스 프록시와 같은 역할을 하는 것이다.
대표적으로 Apache, Nginx와 같은 것들이 있고, 클라이언트의 요청이 해당 웹 서버로 들어가고, 웹 서버는 요청을 서버 부하 상태 등을 고려하며 웹 애플리케이션 서버에 보낸다.
→ WAS 설명에 "동적 애플리케이션 실행", "DB 연동" 이런 핵심적인 말들이 빠짐
→ WS 설명에는 "정적 콘텐츠 제공" 과 같은 말이 빠짐
[클라이언트] → [리버스 프록시(Nginx)] → [웹 서버(Apache)] → [WAS(Tomcat)]
→ WS 는 리버스 프록시와 같은 역할은 하는게 아님 ( Nginx, Apache는 WS이면서 리버스 프록시 역할 가능)
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
매일 메일의 면접 질문 정리
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] HTTPS란 무엇인가 ? (0) | 2025.03.06 |
---|---|
[1분 면접] SSR과 CSR 차이점 (0) | 2025.03.04 |
[1분 면접] (Connection, Socket, Read) Timeout 차이점 (0) | 2025.02.28 |
[1분 면접] 얕은 복사와 깊은 복사의 차이 (0) | 2025.02.27 |
[1분 면접] 포워드 프록시와 리버스 프록시의 차이점 (0) | 2025.02.26 |