Web Server와 WAS

Kkd·2024년 12월 30일
0

매일메일 개념정리

목록 보기
48/93

Web Server와 WAS의 차이점

1. Web Server

  • 역할: 정적 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 클라이언트(브라우저)에 제공.
  • 기능:
    • HTTP 요청을 처리하고 정적 리소스를 반환.
    • 정적인 파일에 대한 빠른 응답을 제공.
  • : Apache HTTP Server, Nginx.
  • 주요 특징:
    • 클라이언트 요청을 받아 정적 파일을 직접 반환하거나, WAS에 요청을 전달(리버스 프록시)할 수 있음.
    • 간단하고 고성능이며, 요청 처리가 비교적 가벼움.

2. WAS (Web Application Server)

  • 역할: 동적 콘텐츠를 생성하여 클라이언트에 반환.
  • 기능:
    • 비즈니스 로직을 처리하고 데이터베이스와 상호작용하여 동적으로 결과 생성.
    • Java, Python, PHP, Node.js 등 다양한 프로그래밍 언어를 지원.
  • : Apache Tomcat, Jetty, JBoss, WebLogic.
  • 주요 특징:
    • 동적인 데이터 처리를 위한 실행 환경 제공.
    • 웹 서버 역할도 포함 가능(정적 리소스 제공 기능 내장).

Web Server와 WAS의 주요 차이점 비교

항목Web ServerWAS
주요 역할정적 콘텐츠 제공동적 콘텐츠 생성 및 제공
처리 요청HTML, CSS, JS, 이미지 등 정적 리소스사용자 요청에 따른 동적 처리
비즈니스 로직 처리불가능가능
성능가볍고 빠름상대적으로 무겁고 복잡함
Nginx, Apache HTTP ServerTomcat, JBoss, WebLogic

WAS도 정적 콘텐츠를 제공할 수 있는데, 웹 서버가 필요한 이유

1. 성능 및 효율성

  • 웹 서버는 정적 콘텐츠 제공에 최적화되어 있으므로 WAS보다 훨씬 빠르게 정적 리소스를 처리 가능.
  • WAS가 정적 콘텐츠까지 처리하면 부하가 증가하고, 비즈니스 로직 처리 성능이 저하될 수 있음.

2. 부하 분산 (Load Balancing)

  • 웹 서버는 클라이언트 요청을 여러 WAS로 분배(리버스 프록시 역할)하여 부하를 분산할 수 있음.
  • 요청 수가 많은 경우 WAS만 사용할 때보다 안정적으로 서비스 운영 가능.

3. 보안

  • 웹 서버는 클라이언트와 WAS 사이에 위치하여 요청을 필터링하거나 방화벽 역할 수행 가능.
  • 특정 요청을 차단하거나 보안을 강화하는 역할을 맡음.

4. 확장성

  • 정적 콘텐츠 요청은 웹 서버에서 처리하고, 동적 요청만 WAS로 전달하면 서버 자원을 효율적으로 사용 가능.
  • 웹 서버와 WAS를 분리하면 개별적으로 확장 가능.

5. 캐싱 기능

  • 웹 서버는 정적 리소스를 캐싱하여 더 빠른 응답 제공 가능.
  • 반복 요청이 많은 리소스를 WAS에 전달하지 않고 직접 반환하여 성능 최적화.

6. 유연한 구성

  • 웹 서버는 다양한 백엔드 애플리케이션(WAS, 데이터베이스 등)과 통합할 수 있음.
  • 예를 들어, 동일한 웹 서버를 통해 여러 WAS 또는 서비스와 연결 가능.

웹 서버와 WAS의 협업 구조 예시

1. 웹 서버 단독 구성

  • 구성: [클라이언트] → [웹 서버]
  • 사용 사례: 정적 콘텐츠만 제공하는 단순 웹사이트.

2. 웹 서버 + WAS 구성

  • 구성: [클라이언트] → [웹 서버] → [WAS]
  • 사용 사례:
    • 웹 서버는 정적 콘텐츠를 제공.
    • WAS는 데이터베이스와 통신하여 동적 콘텐츠를 생성.
    • 고성능, 확장성, 보안 요구사항이 있는 경우.

결론

  • 웹 서버와 WAS는 각각 다른 역할과 목적에 최적화되어 있습니다.
  • WAS도 정적 콘텐츠를 제공할 수 있지만, 성능, 부하 분산, 보안, 확장성 등의 이유로 웹 서버를 함께 사용하는 것이 일반적입니다.
  • 웹 서버와 WAS를 조합하면 더 나은 성능과 안정성을 가진 애플리케이션 환경을 구축할 수 있습니다.

추가 학습 자료
-웹 서버와 WAS(Web Application Server)
-[10분 테코톡] 👩‍🦰희봉의 웹서버 vs WAS

profile
🌱

0개의 댓글