Web Server VS. WAS

G-NOTE·2021년 11월 7일
0

server/db

목록 보기
4/4

Web Server

  • 개념 : HTTP 프로토콜을 통해 클라이언트가 요청한 '정적 컨텐츠'를 제공하는 서버
  • 기능
    • 정적인 컨텐츠를 제공한다.
    • 동적 컨텐츠 요청을 WAS에 전하고, WAS가 처리한 결과를 클라이언트에게 Response한다.

WAS (Web Application Server)

  • 개념 : 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어
  • WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로 '동적 컨텐츠'를 제공하며, 주로 데이터베이스 서버와 함께 수행된다.
  • 기능
    • 프로그램 실행 환경과 DB 접속 기능을 제공한다.
    • 여러 개의 트랜잭션(논리적인 작업 단위)을 관리한다.
    • 업무를 처리하는 비즈니스 로직을 수행한다.
  • WAS는 JSP, Servlet 구동환경을 제공해주기 때문에 웹 컨테이너 또는 서블릿 컨테이너라고 불린다.
  • 요청에 맞는 데이터를 DB에서 가져와 비즈니스 로직에 맞게 결과를 만들어 제공하면서 자원을 효율적으로 사용할 수 있다.
  • WAS가 필요한 이유 : 웹 서버로 클라이언트가 요청하는 결과를 모두 만들어놓고 제공하기엔 자원이 절대적으로 부족하기 때문이다.

웹 서버와 WAS를 함께 사용하는 이유

WAS도 정적 컨텐츠를 처리할 수 있지만 WAS가 해야 할 일의 부담을 줄이기 위해 웹 서버를 WAS 앞에 배치하여 동적 컨텐츠만 처리하도록 한다.

  • 기능 분배
    • 웹 서버는 정적 컨텐츠만 처리하고, 요청받은 동적 컨텐츠는 WAS에 맡기고 처리결과를 클라이언트에 전달한다.
    • WAS는 전달받은 동적 컨텐츠만 처리함으로써 기능을 분배하고 서버 부하를 방지한다.

<웹 서비스 구조>

참조

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
https://codechasseur.tistory.com/25
https://victorydntmd.tistory.com/121
https://helloworld-88.tistory.com/71

profile
FE Developer

0개의 댓글