본문 바로가기
개발일지

웹 서버와 WAS의 차이

by 윤승임 2023. 4. 4.

웹 서버(Web Server)

인터넷 상에서 HTTP를 사용하여 클라이언트(웹 브라우저) 요청에 대한 응답을 제공하는 소프트웨어
웹 서버는 클라이언트로부터 요청된 웹 페이지나 파일을 찾아서 전송하며, 이를 위해 정적인 컨텐츠를 제공한다.

*정적인 컨텐츠(HTML, CSS, 이미지 등)

웹 서버의 주요 기능

  1. HTTP 프로토콜 지원
    웹 서버는 클라이언트와 서버 간 통신에 사용되는 HTTP 프로토콜을 지원한다.
  2. 정적 파일 제공
    웹 서버는 클라이언트가 요청한 정적인 컨텐츠를 제공합니다. 예를 들어, HTML 파일, 이미지, CSS 파일 등을 제공한다.
  3. MIME 타입 처리
    웹 서버는 MIME(Multipurpose Internet Mail Extensions) 타입을 처리하여 클라이언트에게 올바른 파일 형식으로 데이터를 전송한다.
  4. 가상 호스팅
    웹 서버는 하나의 서버에서 여러 개의 도메인을 호스팅할 수 있도록 가상 호스팅(Virtual Hosting)을 지원한다.
  5. 로깅
    웹 서버는 서버에 접근한 클라이언트의 정보를 로그 파일에 저장하여 추적 및 분석할 수 있다.
  6. 보안 기능
    웹 서버는 SSL(Secure Socket Layer) 및 TLS(Transport Layer Security) 프로토콜을 지원하여 데이터의 보안을 유지한다.
  7. 웹 서버 소프트웨어 확장성
    웹 서버는 다양한 소프트웨어 확장 기능을 제공합니다. 예를 들어, Apache 웹 서버는 모듈 기능을 제공하여 다양한 기능을 추가할 수 있다.

WAS(Web Application Server)

웹 서버(Web Server)와는 달리, 동적인 웹 애플리케이션을 실행하기 위한 소프트웨어

WAS는 일반적으로 다음과 같은 기능을 제공한다.

  1. 서블릿 컨테이너
    WAS는 서블릿 컨테이너를 포함합니다. 서블릿 컨테이너는 자바 서블릿과 JSP(Java Server Pages)를 실행하는 데 사용됩니다. 이를 통해 동적인 컨텐츠를 생성하고 처리할 수 있다.
  2. 데이터베이스 연동
    WAS는 데이터베이스와의 연동을 지원한다. 이를 통해 애플리케이션에서 데이터베이스를 사용할 수 있다. WAS는 대개 데이터베이스 풀링(pooling)이나 캐싱(caching)과 같은 고급 기능을 제공한다.
  3. 트랜잭션 관리
    WAS는 트랜잭션 관리를 제공한다. 이를 통해 애플리케이션에서 데이터베이스 트랜잭션을 처리할 수 있다.
  4. 보안
    WAS는 일반적으로 웹 서버보다 높은 보안 기능을 제공한다. WAS는 사용자 인증 및 인가, 보안 통신(SSL/TLS) 등의 기능을 제공한다.
  5. 클러스터링
    WAS는 클러스터링(Clustering)을 지원한다. 이를 통해 여러 대의 WAS 서버를 하나의 논리적인 서버처럼 사용할 수 있다. 이를 통해 애플리케이션의 가용성과 성능을 향상시킬 수 있다.
  6. 웹 서비스 지원
    WAS는 다양한 웹 서비스(Web Services) 프로토콜을 지원한다. 이를 통해 다른 애플리케이션과의 통합이 가능해진다.
  7. 확장성
    WAS는 일반적으로 다양한 소프트웨어 확장 기능을 제공한다. 예를 들어, Java EE(Java Enterprise Edition) 기반 WAS는 EJB(Enterprise JavaBeans)와 같은 기술을 제공하여 다양한 기능을 추가할 수 있다.

웹 서버와 WAS(Web Application Server) 차이점

  1. 역할과 기능
    웹 서버는 주로 HTTP 프로토콜을 사용하여 정적인 웹 페이지와 파일을 제공하는 역할을 한다
    WAS는 동적인 웹 애플리케이션을 실행하기 위한 소프트웨어이다. 서블릿 컨테이너를 포함하고 있으며, 데이터베이스 연동, 트랜잭션 관리, 보안, 클러스터링, 웹 서비스 지원 등의 고급 기능을 제공한다.
  2. 언어와 환경
    웹 서버는 다양한 언어와 환경에서 실행될 수 있다.
    WAS는 대부분 자바(Java) 기반으로 작성되며, 자바 EE(Java Enterprise Edition) 플랫폼의 스펙을 준수한다.
  3. 성능
    웹 서버는 정적인 콘텐츠를 처리하기 때문에 빠른 속도와 낮은 리소스 사용량을 가진다.
    WAS는 동적인 콘텐츠를 처리하므로 웹 서버보다 느릴 수 있지만 WAS는 애플리케이션에 맞는 스레드 풀, 데이터베이스 커넥션 풀링 등을 사용하여 성능을 최적화할 수 있다.
  4. 배포 방식
    웹 서버는 파일 기반으로 배포된다.
    WAS는 자바 웹 애플리케이션(.war) 형식으로 배포된다.
  5. 가격
    대부분의 웹 서버는 오픈 소스로 제공되며, 무료로 사용할 수 있다.
    대부분의 WAS는 상용 소프트웨어로 제공되며, 사용에 따라 라이선스 비용이 발생할 수 있다.