WAS & Web Server

shin·2021년 7월 29일
0

HTTP

목록 보기
7/13
  • WAS & Web Server를 알기전에 Static Page와 Dynamic Page의 개념에 대해 알아야한다

Static Page

  • Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환하고, 항상 동일한 페이지를 반환한다
    ex) image, html, css, javascript 파일과 같은 컴퓨터에 저정되어 있는 파일

Dynamic Pages

  • 동적인 contents를 반환한다.
  • Web Server에 의해서 실행되는 프로그램을 통해서 만들어진 결과물이다.

Web Server

개념

  • 소프트웨어와 하드웨어로 구성

소프트웨어

  • Web Browser 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .css 등)를 제공하는 프로그램

하드웨어

  • Web Server가 설치되어 있는 컴퓨터

기능

  • 클라이언트의 요청을 서비스 하는 기능이 있고 2가지 기능이 있다.
    • 첫번째 기능
      • 정적인 컨텐츠를 제공
      • WAS를 거치지 않고 바로 resource를 제공한다
    • 두번째 기능
      • 동적인 컨텐츠를 제공
      • 클라이언트 요청을 WAS에 보내고 WAS가 처리한 결과를 클라이언트에게 전달(응답)한다

Web Server 종류

Apache Server, Nginx, IIS..

WAS (Web Application Server)

  • 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server
  • 웹 컨테이너 또는 서블릿 컨테이너 라고도 한다
    • 컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말함

역할

  • WAS = Web Server + Web Container
  • Web Server의 기능들을 구조적으로 분리하여 처리하고자하는 목적으로 제시됨
    • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다.
  • 주로 DB 서버와 같이 수행된다.

주요기능

  • 프로그램 실행 환경과 DB 접속 기능 제공
  • 여러 개의 트랜잭션(논리적인 작업 단위) 관리 가능

장점

  • 기능을 분리하여 서버 부하 방지
  • 보안강화
    • SSL에 대한 암복호화 처리에 Web Server를 사용한다.
  • 여러 대의 WAS 연결가능
    • Loading Balancing을 위해 Web Server를 사용한다
    • faill over, fail back 처리에 유리하다
  • 여러 웹 어플리케이션 서비스 가능
  • 하나의 서버에 PHP, JAVA 어플리케이션을 함께 사용할 수 있다

WAS 종류

Tomcat, JBoss, Jeus, Web Sphere ...

Web Server 필요성

  • 클라이언트에게 정적 컨텐츠를 보내는 과정을 살펴보면

    • 정적 컨텐츠는 웹문서가 클라이언트에게 보내질 때 같이 보내지는 것이 아니다. 클라이언트가 먼저 HTML 문서를 받고 그에 따른 정적 컨텐츠(이미지파일...)를 서버에 요청을 하면 받는 방식이다.
  • 따라서 Web Server에서 WAS까지 가지 않고 앞단에서 빠르게 보낼 수 있다. 그리고 Web Server에서 정적 컨텐츠만 처리하도록 하게 되면 서버의 부담을 줄일 수 있다.

WAS 필요성

  • 앞서 보았듯이 웹 페이지에는 동적, 정적 컨텐츠가 존재한다. 그래서 Web Server는 클라이언트에 요청에 맞게 동적 컨텐츠를 만들어서 제공을 해야하는데 Web Server만 이용을 하기에는 서버에 부담을 줄 수 있어 적절치 못하다.
  • 따라서 WAS를 통해 클라이언트 요청에 맞는 데이터를 DB에서 가져와 제공을 하면 효율적으로 제공할 수 있다.

WAS 와 Web Server는 유지보수의 편의성, 자원이용의 효율성 때문에 분리되어 사용한다.
Web Server를 WAS 앞에 두는 형식으로 사용한다면 효율적인 분산 처리가 가능하다.

Web Server 구조

클라이언트 -> Web Server -> DB
클라이언트 -> WAS -> DB
클라이언트 -> Web Server -> WAS -> DB

0개의 댓글