[기타] Web Server와 Was Server

    Web Server와 Was Server

     

     

     

      인터넷, 웹

     우리가 사용하는 인터넷은 http를 기반으로 통신을 시작합니다.

    인터넷이라는 공용된 공간을 통해서 클라이언트(사용자의 pc)와 서버(서비스를 제공하는 사이트)로 구분됩니다.

     

    그래서 이 인터넷을 대표적으로 구분한다면 클라이언트와 서버로 나뉘고 서로 간의 대화할 수 있는 수단을 HTTP라고 부르고 있습니다.

     

     

      HTTP

    • HTML, TEXT
    • IMAGE, 음성, 영상, 파일
    • JSON, XML (API)
    • 거의 모든 형태의 데이터 전송 기능
    • 서버간에 데이터를 주고받을 때도 대부분 HTTP 사용

     

     

     

      웹 서버 (Web Server)

    1. 정적 리소스 제공

    2. HTML, CSS, JS, 이미지, 영상 등

     

    대표적인 서버 : NGINX, APACHE, Microsoft IIS, WebtoB

     

     

    정적 리소스란? 우리의 하드디스크처럼 이미지 파일, TEXT 등 서버에도 대표적으로 HTML, CSS, JS, 이미지, 영상 등의 파일을 넣을 수 있습니다. 그 후, 우리가 필요한 파일을 하드디스크에서 꺼내듯이 사용자(요청자)가 필요로 할 경우 서버내의 파일을 그대로 가져다주는 것을 의미합니다.

     

     

      웹 어플리케이션 서버(WAS - Web Application Server)

    1. 웹 서버 기능 포함 + (정적 리소스 제공 기능)

    2. 프로그램 코드를 실행해서 애플리케이션 로직 수행

     - 동적 HTML, HTTP API(JSON)

     - 서블릿, JSP, 스프링, MVC

     

    대표적인 서버 : Apache Tomcat, JEUS, PHP-FPM, ASP, Django, Plask

     

     

    WAS의 특징은 프로그램 코드를 실행한다는 것에 의미가 있습니다.WEB 서버 같은 경우에는 사용자마다 다른 사이트를 보여줄 수는 없습니다. 말 그대로 이미 있는 데이터를 그대로 전달하는 것에 의미를 둡니다.

     

    그러나 WAS 서버 같은 경우에는 프로그램 코드를 실행함으로 사용자마다 다른 결괏값을 표현할 수 있습니다. 그렇게 되면 사용자마다 다른 닉네임, 기능 등 사이트의 기능을 좀 더 유연하게 대처를 할 수 있게 도와줍니다.

     

     

     

      웹 서버와 웹 애플리케이션 서버의 차이

    1. WEB 서버는 정적 리소스, WAS는 애플리케이션 로직

    2. Java는 Servlet Container 기능을 제공하면 WAS

    3. WAS는 애플리케이션 코드를 실행하는데 더 특화

     

     

     

      웹 시스템 구성

    1. WAS - DB

    WAS, DB 만으로 시스템 구성 가능합니다.

    WAS는 정적 리소스, 애플리케이션 로직 모두 제공 가능

     

    1. WAS가 너무 많은 역할을 담당, 서버 과부하 우려.

    2. 가장 비싼 애플리케이션 로직이 정적 리소스 때문에 수행이 어려울 수 있다.

    3. WAS 장애 시 오류 화면도 노출 불가능

     

    작은 사이트는 WAS - DB만으로 동작이 가능합니다. 다만, 어느 정도 덩치가 큰 사이트일 경우에는 정적 리소스까지 WAS가 전담해야 하므로 WEB과 WAS를 구분할 필요가 있습니다.

     

     

    2. WEB - WAS - DB

    1. 정적 리소스는 웹 서버가 처리

    2. 웹 서버는 애플리케이션 로직 같은 동적인 처리가 필요하면 WAS에 요청을 위임

    3. WAS는 중요한 애플리케이션 로직 처리 전담 효율적인 리소스 관리

    4. 효율적인 리소스 관리 - WEB서버와 WAS 서버를 각각 필요한 만큼 증설할 수 있다.

     

    WEB서버와 WAS서버를 구분하는 가장 큰 이유는 WEB서버는 WAS 서버보다 잘 죽지 않습니다.

    이를 활용하여 WAS 서버가 죽었을 경우, 오류 페이지를 표현할 수 있도록 도와줍니다.

     

     

    반응형

    댓글

    Designed by JB FACTORY