서버

WAS와 Web Server의 차이점

으악꿈 2021. 2. 18. 13:41
728x90

[ Web Server란? ]
 클라이언트(웹 브라우저)로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공하는 컴퓨터 프로그램


 1) Web Server의 기능
  - HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 등)를 서비스함.
  - 정적인 컨텐츠 요청
      ※ 정적인 컨텐츠 제공

  - 동적인 컨텐츠 요청

       요청을 WAS에 보내고 WAS가 처리한 결과를 클라이언트에게 전달
      ex) Apache

 


[ WAS(Web Application Server) 란? ]
 DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server


 1) HTTP를 통해 컴퓨터나 장치에 Application을 수행해주는 미들웨어
  - JSP, Servlet 구동 환경 제공
 2) WAS 기능
  - 프로그램 실행 환경 및 DB 접속기능을 제공
  - 여러 개의 트랜잭션 관리 기능
      트랜잭션? – 사람이 설계한 논리적인 작업 단위
      ex) 게시물을 등록할 때의 insert문과 게시판을 최신 정보로 업데이트할 때의 select문을 합친 작업 단위 => 하나의 트랜잭션
  - 업무를 처리하는 비즈니스 로직 수행

 


[ 왜 구분해서 쓸까? ]
 1)  기능을 분리하여 서버 부하를 방지
  -  WAS는 DB 조회나 다양한 로직을 처리하느라 바쁘기 때문에 단순한 정적 컨텐츠는 Web Server에서 빠르게 클라이언트에 제공
  - Web Server에서는 정적 컨텐츠만 처리하도록 하여 서버의 부담을 줄일 수 있음.
 2) 여러 개의 WAS 연결 가능
  - 오류가 발생하여도 오류가 발생한 WAS를 이용하지 못하게 한 후, 다른 WAS를 재시작 함으로써 사용자는 오류를 느끼지 못함.

 


[ 동작 과정 ( 이 과정 이외에서 다양한 구조를 가질 수 있음 ) ]
 구조 : # Client => Web Server => WAS => DB #
1) 웹 서버는 클라이언트에게 HTTP 요청을 받음.
2) 웹 서버는 클라이언트의 요청을 WAS에 보냄.
3) WAS는 요청과 관련된 Servlet을 메모리에 올림.
4) Servlet은 요청에 따라 생성된 동적 페이지를 WAS에 전달
5) WAS는 해당 결과를 웹 서버에 전달
6) 웹 서버는 WAS에서 받은 결과를 클라이언트에 전달.

728x90

'서버' 카테고리의 다른 글

[Apache] https redirect 설정  (0) 2021.04.26