Web Server와 WAS 차이

계리·2023년 4월 7일
0
post-thumbnail

Web이란

사전적 의미 - 거미줄, 망 등
기술적 의미 - 인터넷 망, 정보 그물 망 등

인터넷에 연결된 전세계 사용자들이 서로의 정보를 공유할 수 있는 장소를 의미한다.
Web을 World Wide Web이라고도 하며 간단히 줄여서 WWW나 W3라고 불리며 간단히 웹(Web)이라고 가장 많이 불린다.

웹에는 수많은 웹 사이트들이 있고 각각의 웹 사이트는 웹 페이지로 구성된다. 즉 서로 연관된 웹 페이지로 구성되어 있는 것을 웹 사이트라고 할 수 있다.

아래 사진과 같이 정보들(웹 사이트)로 서로 연결되어 있는 것들을 Web이라 지칭한다.


네트워크와 인터넷 그리고 웹을 혼동해서 사용하는 경우가 있어서 아래와 같은 사진을 준비했다.

  • 네트워크
    컴퓨터와 같은 노드들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태


  • 인터넷
    여러 통신망을 하나로 연결한다는 의미의 Inter-Network의 줄임말로 시작되었으며 통신 프로토콜을 이용하여 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미한다. 웹 외에도 다양한 서비스들이 포함한다. 즉 웹은 인터넷의 부분집합으로 보면 된다.


Web의 특징

인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공한다.


하이퍼 텍스트란

문서 내부에 또 다른 문서를 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 웹 페이지끼리 서로 참조할 수 있는 기술을 의미한다.


Server란

제공한다는 뜻을 가진 Serve에 사람이라는 뜻을 나타내는 er을 붙인 사전적 단어이다. 기술적 단어로 보면 Server는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미한다.


Web Server란

사전적 의미로는 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램

클라이언트(사용자)가 웹 브라우저에서 어떠한 페이지 요청을 하면 웹 서버에서 그 요청을 받아 정적 페이지를 제공하는 서버이다.


Static Page(정적 페이지)

  • 내용이 바뀌지 않는 페이지(항상 동일한 내용)
  • Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다.
  • 항상 동일한 페이지를 반환
  • 단순 HTML 문서, CSS, Javascript, 이미지, 파일 등 즉시 응답 가능한 페이지

그렇다고 웹 서버가 정적 페이지만 제공하지는 않는다. 웹 서버가 동적 페이지를 요청 받으면 WAS에게 해당 요청을 넘겨주고 WAS에서 처리한 결과를 클라이언트(사용자)에게 전달해주는 역할도 한다.

Web Server 종류

  • Microsoft IIS
  • apache
  • tMax
  • WebtoB
  • nginX

WAS란

사전적 의미로 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서 주로 동적 서버 컨텐츠를 수행하는 것으로 웹 서버와 구별이 되며 주로 데이터베이스 서버와 같이 수행

WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 페이지를 제공한다.


Dynamic Page(동적 페이지)

  • 인자에 따라 내용이 변경되는 페이지
  • 인자의 내용에 맞게 동적인 contents를 반환
  • 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물

덕분에 사용자의 다양한 요구에 맞춰 웹 서비스를 제공할 수 있다. WAS는 JSP, Servlet 구동 환경을 제공해주기 때문에 웹 컨테이너 혹은 서블릿 컨테이너라고도 불린다.

WAS 종류

  • Tomcat
  • JBoss
  • IBM WebSphere
  • tMax jeus
  • BEA Web Logic
  • Bluestone
  • Gemston
  • inprise
  • Oracle
  • PowerTier
  • Apptivity
  • silveerStream

Web Server와 WAS의 구성에 따른 분류

  • WAS와 Web Server를 분리하지 않는 경우
    모든 컨텐츠를 한곳에 집중시켜 웹 서버와 WAS의 역할을 동시에 수행,
    스위치를 통한 로드 밸런싱, 사용자가 적을 경우 효율적


  • WAS와 Web Server를 분리한 경우
    웹 서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도,
    정적인 데이터는 웹 서버에서 처리, 동적인 데이터는 WAS가 처리


  • WAS 여러 개와 Web Server를 분리한 경우
    WAS단을 프리젠테이션 로직과 비즈니스 로직으로 구분하여 구성,
    특정 logic의 부하에 따라 적절한 대응할 수 있지만 설계단계, 유지보수 단계가 복잡해 질 수가 있다.


WAS와 Web Server를 분리하는 이유

  • 기능을 분리하여 서버의 부하 방지

    • WAS는 DB 조회 등 페이지를 만들기 위한 다양한 로직을 처리하는데 단순한 정적 콘텐츠를 WAS에서 제공한다면 다른 작업에 사용하는 리소스들로 인해 지연이 생겨날 수 있다.
    • tomcat 5.5 이상부터는 성능이 크게 떨어지지 않는다고 한다.

  • 물리적으로 분리하여 보안강화

    • SSL에 대한 암/복호화 처리에 Web Server를 사용한다.

    • 공격에 대해 Web Server를 앞단에 두어 중요한 정보가 담긴 DB나 로직까지(WAS까지) 전파되지 못하게 한다.


  • 여러 대의 WAS를 연결 가능

    • Load Balancing(부하의 균등화) 가능 -> 한 서버가 다운되더라도 서비스를 이어갈 수 있다는 장점이 있다.

    • fail over, fail back 처리에 유리

    • 대용량 웹 애플리케이션의 경우 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있음


  • 여러 웹 애플리케이션을 서비스 가능

    • Java서버, C#서버, php서버 등 하나의 웹 서비스를 통해 서비스 가능


fail over : 작동 중지된 WAS를 대신 해 다른 WAS를 사용하여 장애를 극복
fail back : 작동 중지된 WAS를 재동작


참조

profile
gyery

0개의 댓글