[Server] Web Server vs Application Server

gyeol·2025년 10월 14일

CS

목록 보기
6/13
post-thumbnail

웹 서버와 애플리케이션 서버는 자주 함께 등장하지만, 역할과 처리 범위가 다르다.
서로 다른 일을 하지만, 실제 서비스에서는 두 서버가 협력해 하나의 완성된 웹 서비스를 제공한다.

동작 흐름

  1. 사용자가 브라우저에서 웹사이트 주소로 입력 시, HTTP 요청이 웹 서버로 전달됨
  2. 웹 서버는 요청된 리소스가 정적 데이터인지 확인 후, 정적 파일이라면 Static Data Store에서 해당 파일을 보내 Static Data Response로 클라이언트에게 응답
  3. 동적 리소스라면 웹 서버가 애플리케이션 서버(Servlet Request)로 전달
  4. 애플리케이션 서버는 Web Container를 통해 처리
    이때 필요하다면 DB와 통신해 데이터 조회/수정
  5. 해당 리소스들을 찾았다면 Servlet Response 형태로 웹 서버에게 전달
  6. 웹 서버는 애플리케이션 서버에서 받은 결과를 Http Response 형태로 클라이언트에게 반환
간단한 흐름도
[사용자] 
   ↓
[웹 서버: Nginx]
   ↓
[애플리케이션 서버: Spring Boot / Django]
   ↓
[데이터베이스]

웹 서버 (Web Server)

웹 서버는 정적 콘텐츠를 처리하는 서버를 말한다.

  • 클라이언트의 HTTP 요청 받음
  • 정적 파일 그대로 응답 (html, css, js 등)
  • 대표적으로 Ngnix, Apache HTTP Server 등 존재
항목설명
주 역할정적 리소스 제공
응답 속도빠름 (단순 파일 응답)
주로 사용하는 프로토콜HTTP / HTTPS
예시 상황사용자가 웹사이트 접속 시 HTML 페이지 반환

애플리케이션 서버 (Application Server)

동적 콘텐츠를 처리하는 서버를 말한다.

  • 웹 서버가 전달한 요청 중, 비즈니스 로직이 필요한 요청 처리
  • DB 연동, 사용자 입력 처리 등의 요청을 처리함
  • 대표적으로 Tomcat, Node.js/Django 등도 사실상 애플리케이션 서버로 불 수 있음
항목설명
주 역할동적 로직 처리 (비즈니스 로직 수행)
응답 속도상대적으로 느림 (코드 실행, DB 접근 등)
예시 상황로그인 처리, 주문 요청, 데이터 연산 등

마무리

즉, 웹 서버는 파일을 전달하는 역할이며 애플리케이션 서버는 코드를 실행해 데이터를 생성하고 처리하는 역할을 한다.
두 서버는 함께 동작하며 웹 서버가 게이트웨이, 애플리케이션 서버가 핵심 로직을 처리하는 백엔드 역할을 맡는다.

profile
공부 기록 공간 '◡'

0개의 댓글