enginner_s2eojeong

웹 서버(Web Server) vs 웹 애플리케이션 서버(WAS) 본문

Backend/SpringBoot

웹 서버(Web Server) vs 웹 애플리케이션 서버(WAS)

_danchu 2025. 2. 10. 22:26

1. 웹 서버 (Web Server)

  • 클라이언트의 요청을 받아 정적인 웹 페이지(HTML, CSS, JavaScript, 이미지 등)를 제공하는 서버
  • 정적 콘텐츠를 처리하는 역할

1. 주요 기능

  • 정적 리소스 제공 (HTML, CSS, JavaScript, 이미지, 동영상 등)
  • 클라이언트의 HTTP 요청을 받아 응답
  • 리버스 프록시(Reverse Proxy) 역할 가능 (요청을 다른 서버로 전달)
  • 부하 분산 수행 가능

2. 대표적인 웹 서버

  • Apache HTTP Server
  • Nginx
  • IIS

3. 웹 서버 동작 방식

  1. 사용자가 브라우저에서 www.helloworld.com을 요청
  2. 웹 서버가 요청된 URL에 해당하는 HTML, CSS, JS 파일을 찾아 응답
  3. 사용자의 브라우저가 해당 파일을 해석하여 화면을 구성

📌 웹 서버는 보통 정적인 파일을 제공하고 동적 요청을 처리하지 못함.
→ 동적 요청을 처리하려면 웹 애플리케이션 서버(WAS) 필요.

 

2. 웹 애플리케이션 서버 (WAS, Web Application Server)

  • JSP, Servlet, Spring 등의 웹 애플리케이션 로직을 실행하는 역할
  • 동적 컨텐츠을 처리하는 서버

1. 주요 기능

  • 클라이언트 요청을 받아 동적으로 HTML 생성
  • DB와 연결하여 데이터를 조회 및 변경
  • 트랜잭션 관리
  • 비즈니스 로직 처리

2. 대표적인 WAS

  • Tomcat
  • JBoss
  • WebLogic
  • WebSphere

📌3. WAS 동작 방식

  1. 사용자가 브라우저에서 www.helloworld.com/login을 요청
  2. 웹 서버가 해당 요청을 WAS로 전달
  3. WAS가 Servlet 또는 Spring Controller를 실행하여 요청을 처리
  4. 데이터베이스에서 사용자 정보를 가져와 응답을 생성
  5. WAS가 동적으로 생성된 HTML을 웹 서버에 전달
  6. 웹 서버가 브라우저에 HTML을 응답

📌 WAS는 웹 서버가 할 수 없는 비즈니스 로직을 실행할 수 있음.
→ DB 연동, 세션 관리, 동적 페이지 생성 등의 기능 수행 가능 !

 

3. 웹 서버 vs. 웹 애플리케이션 서버

구분 웹 서버 (Web Server) 웹 애플리케이션 서버 (WAS)
주요 역할 정적 콘텐츠 제공 (HTML, CSS, JS, 이미지) 동적 콘텐츠 처리 (비즈니스 로직 실행)
주요 기능 HTTP 요청 처리, 정적 리소스 Servlet 실행, DB 연동
예제 Apache, Nginx, IIS Tomcat, JBoss, WebLogic, WebSphere
처리 방식 요청된 리소스를 그대로 제공 클라이언트 요청을 처리하고 HTML을 동적으로 생성

 

4. 결론 : 웹 서버 + WAS를 함께 사용하자 !

  • 웹 서버는 정적인 리소스 처리
  • WAS는 동적인 로직 처리
  • 웹 서버가 프록시 역할을 하여 부하를 분산
  • 보안 강화를 위해 WAS를 직접 외부에 노출하지 않음

예시 조합)

Nginx + Tomcat
Apache HTTP Server + Tomcat

📌 웹 서버와 WAS를 함께 사용하면, 정적인 파일은 빠르게 제공하고 동적인 요청은 WAS가 처리하여 성능 최적화가 가능하다.

 

웹 서버 + WAS