Web Server vs Web Application Server

나미래·5일 전

Web Server와 Web Application Sever(이하 WAS)는 모두 HTTP 요청을 받고 응답할 수 있다.
차이는 요청을 처리할 때 담당하는 주된 역할에 있다.

Web Server란?

Web Server는 HTTP 요청에 응답하며, 정적 파일 제공이나 다른 서버로 요청 전달 등을 담당하는 서버 소프트웨어다. 대표적으로 Nginx, Apache HTTP Server가 있다.

정적 파일은 서버에 저장된 내용을 그대로 전달하는 HTML, CSS, JavaScript, 이미지 등을 말한다.

브라우저 → /index.html 요청
Web Server → 저장된 HTML 파일 응답

브라우저는 전달받은 HTML·CSS로 화면을 구성하고 JavaScript를 실행한다.
따라서 정적 파일을 제공한다고 해서 화면이 고정되거나 코드 실행이 불가능한 것은 아니다.
이때 코드는 서버가 아닌 브라우저에서 실행된다.

Web Server는 정적 파일 제공 외에도 다음 역할을 맡을 수 있다.

  • 리버스 프록시: 요청을 WAS로 전달하고 응답을 클라이언트에 전달
  • HTTPS 처리: TLS 연결과 암호화·복호화 처리
  • 부하 분산: 요청을 여러 애플리케이션 서버로 분산

WAS란?

WAS는 서버 측 애플리케이션 코드를 실행하여 요청을 처리하고 응답을 생성하는 환경이다.

로그인 검증, 상품 구매, DB 조회처럼 서버에서 수행해야 하는 작업을 담당한다.

클라이언트 → 주문 조회 요청
WAS → 사용자 권한 확인 → DB 조회 → HTML 또는 JSON 응답

이처럼 요청과 데이터 상태에 따라 응답을 생성하는 것을 동적 처리라고 한다.
동적이라는 말은 화면이 움직인다는 뜻은 아니다.

Java 환경에서 배우는 Servlet과 JSP는 서버에서 요청을 처리하고 응답을 만드는 기술이다.
Tomcat은 이를 실행하는 서블릿 컨테이너이며, 현업에서는 흔히 WAS라고 부른다.

다른 생태계에서는 Node.js나 Python으로 비슷한 역할을 구현하면서 '애플리케이션 서버' 또는 'API 서버'라고 부르기도 한다.

Web Server vs WAS 비교

구분Web ServerWAS
주된 역할정적 파일 제공, 요청 전달애플리케이션 코드 실행
처리 예시HTML·이미지 제공, API 요청 중계로그인 검증, 주문 저장, DB 조회
요청 처리 방식저장된 파일을 제공하거나 다른 서버로 요청 전달애플리케이션 로직을 실행해 응답 생성
HTTP 통신요청 수신·응답 가능요청 수신·응답 가능

0개의 댓글