공부/Web

WEB / WAS

딜레이레이 2022. 10. 18. 16:05

[참고 영상]

https://youtu.be/mcnJcjbfjrs

  1.  WEB
    • 웹 브라우저(클라이언트)가 HTTP 요청을 하면 정적인 컨텐츠(HTML)를 제공하는 프로그램.
      • 정적 컨텐츠, 동적 컨텐츠란? 
        더보기
        정적 컨텐츠
        - 요청 인자 값에 상관없이 달라지지 않는 컨텐츠
        - 어느 사용자 요청이든 항상 동일한 컨텐츠

        동적 컨텐츠
        - 요청 인자에 따라 바뀔 수 있는 컨텐츠
    • 정적 컨텐츠 요청 시, HTML, CSS, JPG와 같은 정적 컨텐츠를 제공한다.
    • 동적 컨텐츠 요청 시, WAS로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달해준다.
  2. WAS
    • Web Application Server
    • 웹 서버 + 웹 컨테이너

DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램.

    • 대부분의 WAS는 웹서버를 내장하고 있기 때문에 클라이언트로부터 HTTP 요청을 받을 수 있다.
    • 요청에 맞는 정적 컨텐츠(HTML, CSS, JPG...)를 제공할 수 있다.
    • 비즈니스 로직을 이용하여 동적 컨텐츠를  만들고 제공하는 서버. 
  1. WAS와 Web Server를 함께 사용했을 때의 장점
    • 책임분할을 통한 과부하 방지
      • 정적 컨텐츠는 Web server, 동적 컨텐츠는 WAS가 담당.
    • 여러 대의 WAS 로드밸런싱
      • WAS가 처리해야 하는 요청을 여러 WAS가 나누어서 처리할 수 있도록 설정.
    • 여러 대의 WAS Health check
      • Health check란?
        더보기
        - 서버에 주기적으로 HTTP 요청을 보내 서버의 상태를 확인.
        - Interval : health check를 통해 서버 상태를 확인하는 요청을 날리는 주기 (default : 5초)
        - Fails : 특정 횟수 이상 실패하면 서버가 비정상이라고 인지 (default : 1회)
        - Passes : 서버가 복구되어 요청이 특정 횟수 이상 연속 성공하면 서버가 정상으로 인지 (default : 1회)
    • 리버스 프록시를 통해 실제 서버를 외부에 노출하지 않을 수 있다. (보안)
      • WAS는 DB 접근 권한을 가질 수 있기 때문에 앞단에 노출되면 위험할 수 있는데 앞단에 Web server를 위치시킴으로써 WAS를 외부에 노출시키지 않을 수 있다.