Server 공부

WEB server와 WAS

Rocomi 2024. 8. 25. 19:38

WEB 서버(Web Server)와 WAS(Web Application Server)는 웹 애플리케이션을 제공하는 데 있어 중요한 역할을 하지만, 그 기능과 목적이 다릅니다. 다음은 이 두 서버의 주요 차이점에 대한 상세한 설명입니다.

1. WEB 서버(Web Server)

WEB 서버는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아 정적인 콘텐츠를 제공하는 서버입니다. 주로 HTML, CSS, JavaScript, 이미지, 비디오 등 정적인 파일을 전달하는 데 사용됩니다.

  • 기능:
    • 정적인 콘텐츠 제공: 웹 페이지에 필요한 정적인 파일을 클라이언트에게 전송합니다.
    • 요청 처리: HTTP 요청을 받아 URL에 해당하는 파일을 클라이언트에게 전달합니다.
    • 리버스 프록시: 클라이언트의 요청을 WAS 등 다른 서버로 전달하여 처리 결과를 반환하는 역할도 수행할 수 있습니다.
  • 예시: Apache HTTP Server, Nginx, IIS(Internet Information Services) 등이 대표적인 WEB 서버입니다.

2. WAS(Web Application Server)

WAS는 동적인 웹 애플리케이션을 실행하기 위해 설계된 서버입니다. 클라이언트의 요청을 받아 애플리케이션 로직을 수행하고, 데이터베이스와의 상호작용을 통해 동적인 콘텐츠를 생성하여 클라이언트에게 전달합니다.

  • 기능:
    • 동적인 콘텐츠 생성: JSP, Servlet, PHP, ASP.NET 등의 서버 사이드 스크립트를 실행하여 동적인 웹 페이지를 생성합니다.
    • 비즈니스 로직 처리: 애플리케이션의 비즈니스 로직을 수행하여 요청에 따른 다양한 연산 및 데이터 처리 작업을 수행합니다.
    • 데이터베이스 연동: DBMS와의 연결을 통해 데이터를 조회하거나 수정하여 동적인 데이터를 생성합니다.
    • 트랜잭션 관리 및 보안: 트랜잭션 관리와 세션, 인증 등의 보안 기능을 제공합니다.
  • 예시: Tomcat, JBoss, WebLogic, WebSphere 등이 대표적인 WAS입니다.

3. WEB 서버와 WAS의 협업

웹 애플리케이션 서비스 제공 시, WEB 서버와 WAS는 보통 함께 사용됩니다. WEB 서버는 정적인 파일을 처리하고, 동적인 요청은 WAS로 전달하여 처리하게 됩니다. 이러한 구조는 시스템의 성능을 최적화하고, 다양한 클라이언트 요청을 효율적으로 처리할 수 있게 합니다.

4. 주요 차이점 요약

  • 역할:
    • WEB 서버: 정적인 콘텐츠를 제공하는 데 중점.
    • WAS: 동적인 콘텐츠를 생성하고, 비즈니스 로직을 수행하는 데 중점.
  • 처리 대상:
    • WEB 서버: HTML, CSS, JS, 이미지 등 정적인 파일.
    • WAS: 서버 사이드 스크립트, 데이터베이스와의 상호작용을 통한 동적인 콘텐츠.

이 두 서버는 서로의 역할을 보완하여 사용자의 다양한 요구를 충족시킬 수 있는 웹 애플리케이션 환경을 제공합니다.