웹 서버와 WAS의 차이

0

웹서버

  • 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
  • 클라이언트(사용자)가 웹 브라우저에서 어떠한 페이지 요청을 하면 웹 서버에서 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다.
  • 정적 컨텐츠랑 단순HTML문서, CSS, javascript, 이미지 등 즉시 응답가능한 컨텐츠를 말한다.

대표적인 웹서버

  • Apache

    가장 대표적인 HTTP 서버는 Apache이다. 1995년 이후 단 한번도 1위의 자리를 놓친적이 없었으나 최근 들어 Nginx에게 밀리는 추세이며, 거의 모든 운영체제에서 효율적으로 운영되지만 Linux와 사용될때 가장 최적화 된다.

    장점
    1. 오픈소스로 무료이다.
    2. 확장성이 좋다.
    3. 보안 수준이 높다.
    단점
    1. 많은 기능들로 인해 느린 측면이 있다.
    2. 오버헤드가 발생한다.
    오버헤드: 프로그램의 실행흐름 도중에 동떨어진 위치의 코드를 실행시켜야 할 때 , 추가적으로 시간,메모리,자원이 사용되는 현상이다.

  • Nginx WEB Server

    Nginx는 메일 프록시, 리버스 프록시 서버로 무료 오픈 소스로 사용할 수 있는 HTTP 서버이다. 그리고 최소한의 리소스로 많은 수의 동시 사용자를 처리로 대규모 웹 트래픽 처리 상황이 발생할 때 고효율을 발휘한다.

    장점
    1. 오픈소스로 무료이다.
    2. Apache에 비해 가볍다.
    3. 프록시 기능이 뛰어나다.
    프록시: 클라이언트에서 요청하여 서버에서 응답받아 처리하는 방식에서 중간에 프록시 서버를 두고 중계역할을 하는 개념
    단점
    1. 커뮤니티의 자료 부족.
    2. 확장모듈이 Apache에 비해 적다.

  • IIS WEB Server

    IIS는 Microsoft에서 제공하는 소프트웨어이며 유료이다. 익숙한 GUI를 통해 접근성이 용이하다.

    장점
    1. Microsoft에서 지원한다.
    2. ASP, MSSQL 등과 같은 다른 Microsoft 서비스와 쉽게 통합할 수 있다.
    3. 간편한 GUI를 지원한다.
    단점
    1. 유로이며, 가격이 비싸다.
    2. Windows Server 에서만 동작한다.
    3. Apache 와 Nginx에 비해 더디고 느리다.


WAS

  • 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, 주로 동적 서버 컨텐츠를 수행하는 것으로 웹 서버와 구별되며, 주로 데이터베이스 서버와 같이 수행
  • WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다.
  • JSP, Servlet 구동환경을 제공해주기 때문에 웹 컨테이너 혹은 서블릿 컨테이너 라고도 불린다.

JSP

  • Java Server Pages의 약자이며, HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
  • JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

대표적인WAS 종류

  • Tomcat
  • JEUS
  • IBM WebSphere

WAS가 만능처럼 보이지만?
WAS만 사용한다면 정적 컨텐츠(웹서버 담당) 요청까지 처리하게된다. 그렇게되면 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 최후에는 페이지 노출 시간이 늘어나는 문제가 발생하여 효율성이 크게 떨어지게 되는것이다.

일반적으로 웹서버를 WAS 앞에 두고 필요한 WAS들을 웹서버에 플러그인 형태로 설정하면 더욱 효율적인 분산처리가 된다.


Apache Tomcat

Apache를 검색하거나 Tomcat을 검색하다 보면 웹서버와 was의 차이점이 있다는 것을 알게 된다. 그렇다면 Apache Tomcat도 자주 보이게 되는데...
Apache Tomcat? 2008년에 릴리즈된 Tomcat5.5 버전부터 정적 컨텐츠를 처리하는 기능이 추가되었다고 한다. 순수 Apache만 사용하는 것에 비해 성능차이가 없어 Apache의 기능들을 Tomcat이 포함하고 있다고 해서 Apache Tomcat라고 부르고 있는것이다.

0개의 댓글