웹 서버(Web Server) WAS, (Web Application Server)

이재원·2024년 2월 26일

웹 서버

  • HTTP 프로토콜을 통해 클라이언트(웹 브라우저)의 요청을 받아 정적 콘텐츠(HTML, CSS, JavaScript 파일 등)를 제공하는 서버
  • 단순한 정적 페이지 요청 처리에 효율적이다.

웹 서버의 임무
1) 단순히 저장된 웹 리소스들을 클라이언트로 전달하고, 클라이언트로부터 콘텐츠를 전달받아 저장하거나 처리한다.
2) 사용자로부터 동적인 요청이 들어왔을 때, 해당 요청을 웹서버에서 자체적으로 처리하기 어렵기 때문에 WAS에게 요청한다.

  • 대표적인 웹서버의 종류 : Apache, Nginx, IIS(windows 전용 웹서버)

WAS

  • 웹 서버와 함께 사용되며, 동적 콘텐츠를 처리하는 데 특화되어 있다.
  • 시용자의 요청에 따라 서버 측에서 프로그램을 실행하여 그 결과를 웹 페이지 형태로 돌려주며, 이 과정에서 데이터베이스 조회나 복잡한 로직 처리가 포함될 수 있다.
  • 웹 서버와 동일하게 HTTP 기반으로 동작한다.
  • 웹 서버가 할 수 있는 기능 대부분이 WAS에서 처리가 가능하며, 비즈니스 로직(서버 사이드 코드)을 처리할 수 있어 사용자에게 동적인 콘텐츠를 전달할 수 있다.
  • 주로 데이터베이스 서버와 같이 수행된다.

웹서버와 WAS의 상호작용

  • 웹 서버는 정적 콘텐츠 처리에 특화되어 있고, WAS는 동적 콘텐츠 처리에 특화되어 있다.
  • 웹 서버는 동적 콘텐츠가 요청될 경우, 해당 요청을 WAS에 전달하고, WAS는 요청을 처리한 후 결과를 웹 서버에게 반환한다.
  • 그런 다음 웹 서버는 이 결과를 클라이언트에게 전달한다.
  • 이러한 구조는 처리 부하를 분산시키고 전체 시스템의 확장성과 유지보수성을 향상시킨다.

차이점

  • 웹서버
    • 정적인 데이터를 처리하는 서버.
    • 이미지나 단순 html같은 정적인 리소스들을 전달하며, WAS만 이용할 때보다 빠르고 안정적으로 기능을 수행한다.
  • WAS
    • 동적인 데이터를 위주로 처리하는 서버
    • DB와 연결되어 사용자와 데이터를 주고받고, 조작이 필요한 경우 WAS를 활용한다.

효율적사용

  • 웹 서버가 할 수 있는 일을 WAS가 전부 가능하다면 웹 서버는 굳이 사용하지 않아도 되지않나?
    • 정적인 콘텐츠만 제공하는 경우 웹 서버만으로도 충분하다.
    • 동적인 콘텐츠를 제공하는 웹서비스를 배포해야할 때 정적, 동적 모두 처리가 가능한 WAS 만을 사용해도 되지 않을까?
      • WAS는 DB 조회 및 다양한 로직을 처리하는데 집중해야하므로 단순한 정적 콘텐츠는 웹서버에게 맡기고 기능을 분리해 서버 부하를 방지해야한다.
  • 웹서버를 앞에 두고 WAS는 웹 서버가 처리하기 힘든 서버 사이드 코드의 로직등을 수행하여 웹 서버와 함께 양질의 콘텐츠를 제공할 수 있다.

장애 극복 기능

  • 사람들이 접속하는 대용량 WAS인 경우 , 서버의 수가 여러대 일 수 있다.
  • 만약 사용중 WAS에 문제가 생겨 재시작 해야하는 경우가 생긴다면 웹서버에서 WAS를 사용하지 못하도록 요청을 차단하고 그다음 WAS를 재시작하면 사용자들은 WAS에 문제가 생긴지 모르고 이용할 수 있다.
  • 규모가 커질 수록 웹 서버와 웹앱 서버를 분리하여 효율성, 배포 및 유지 보수성을 향상시킬수있다.

소프트웨어 공학에서의 장애 극복 기능

  • 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때, 예비 시스템으로 자동 전환될 수 있도록 처리하는 기능
  • 반면 수동으로 직접 처리하는 것을 스위치 오버라고한다.

웹서비스의 다양한 구조

  1. 클라이언트 웹서버 DB
  2. 클라이언트 WAS DB
  3. 클라이언트 웹서버 WAS DB
  • 리버스 프록시의 구조를 가져가며 서버 부하 방지와 보안적 효율을 얻을 수 있다.\

CGI

  • 초기 웹 애플리케이션에서 동적 콘텐츠를 제공하는 방법 중 하나
  • WAS는 CGI에 비해 복잡한 동적 애플리케이션을 효율적으로 처리할 수 있으며, 리소스 사용과 성능 관리 측면에서도 더 우수하여 WAS를 사용하게 되었다.

출처 https://yozm.wishket.com/magazine/detail/1780/

profile
최고가 되기 위한 여정

0개의 댓글