본문 바로가기
IT개발/JAVA

Web Server와 WAS의 차이

by 시간기억자 2025. 4. 7.
반응형

웹 개발 또는 서버 인프라를 다루다 보면 반드시 마주하게 되는 개념이 있다.
바로 Web Server(웹 서버)WAS(Web Application Server, 웹 애플리케이션 서버) 이다.

이 둘은 비슷해 보이지만 역할과 기능이 명확히 다르며, 개발자라면 반드시 구분해서 이해해야 한다.


✅ Web Server란?

웹 서버(Web Server) 는 말 그대로 웹 브라우저(클라이언트)의 요청을 받아 정적인(Static) 파일을 응답하는 서버다.

예를 들어 사용자가 웹 주소를 입력하면,
HTML, CSS, JavaScript, 이미지 등의 정적인 리소스를 찾아서 그대로 반환해주는 역할을 한다.

 

🔹 예시

: 사용자가 http://www.example.com/index.html 요청 → 웹 서버가 index.html 파일 찾아서 전달

🔹 대표적인 Web Server

  • Apache HTTP Server
  • Nginx
  • Microsoft IIS

✅ WAS(Web Application Server)란?

WAS(Web Application Server) 는 웹 서버가 하지 못하는,
동적인(Dynamic) 처리를 담당한다.
즉, 사용자의 요청에 따라 비즈니스 로직을 처리하고 DB와 상호작용한 결과를 동적으로 생성하여 응답한다.

🔹 예시

: 사용자가 로그인 요청 → WAS가 사용자 정보 확인 → DB에서 비밀번호 비교 → 결과 반환

🔹 대표적인 WAS

  • Apache Tomcat (Java 기반)
  • JBoss
  • WebLogic
  • WebSphere

✅ Web Server와 WAS의 차이점

항목 Web Server WAS
처리 대상 정적인 리소스 (HTML, CSS, JS, 이미지 등) 동적인 리소스 (Java, JSP, Servlet 등)
역할 요청 분배 및 정적 파일 응답 비즈니스 로직 실행, DB 연동 처리
예시 Nginx, Apache Tomcat, JBoss
속도 빠름 (정적 파일 전달) 상대적으로 느림 (로직 실행)
부하 분산 가능 가능하나 Web Server에 비해 상대적 약함

✅ Web Server와 WAS는 함께 쓰인다

현업에서는 보통 Web Server + WAS 구조로 조합해서 사용한다.

💡 Nginx가 앞단에서 클라이언트의 요청을 받고,
정적 파일은 Nginx가 처리하고, 동적 요청은 Tomcat과 같은 WAS로 전달하는 구조다.

이렇게 하면 처리 효율도 높아지고, 보안 및 성능 관리도 수월하다.

 


🔧 실무 예시: Spring Boot + Nginx + Tomcat

  1. 사용자가 웹 페이지 요청 (예: /login)
  2. Nginx가 요청을 받고 정적 파일 여부 확인
  3. 동적 요청이면 Nginx → Tomcat(Spring Boot)에 전달
  4. Spring에서 로그인 처리 → DB 연동 → 결과 생성
  5. 결과를 HTML 혹은 JSON으로 응답

✅ 마무리: 한 문장 요약

  • Web Server는 정적인 파일 처리,
  • WAS는 동적인 로직 처리를 담당하며,
  • 실제 서비스에서는 둘을 함께 사용하는 것이 일반적이다.
반응형

댓글