WAS vs 웹 서버

Bluewind·2022년 6월 2일
0

서버 셋팅

목록 보기
6/6

이전 기술면접에서 WAS와 웹서버가 다른 점을 이야기 해보라는 질문에 대답하지 못했었던 경험이 있습니다.

'네? WAS요? 😦'

그렇게 기술면접을 망치고...😭 관련 자료를 찾다가 '우아한형제'에서 운영하는 유튜브채널 우아한Tech에서 올려준 [테코톡] 희봉의 웹서버 vs WAS의 영상을 보게되었습니다.

그래서... 이 글은 해당 영상을 정리하며 공부한 글이 되겠습니다.


웹 서버

웹 서버(Web Server)란 무엇일까요? 이를 알아보기 위해서 WebServer에 대해서 알아봅니다.

Web

  • Web이란 인터넷을 기반으로 하며 정보를 공유, 검색할 수 있게 하는 서비스
  • 웹의 3가지 요소:URL(주소), HTTP(프로토콜), HTMl(내용)

Server

  • 클라이언트에게 네트워크를 통하여 정보나 서비스를 제공하는 컴퓨터 시스템

Web + Server

위의 두 개념을 합치면 웹 서버는 아래의 개념이 될 것입니다.

인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터

즉, 클라이언트와 웹 서버의 입장으로 나누어 볼 때

  • 클라이언트에서는 웹 서버에게 주소(URL)을 가지고 규칙(HTTP)에 맞게 서버에게 요청 시, 클라이언트가 원하는 내용(HTML)을 받을 수 있습니다.
  • 웹 서버에서는 클라이언트의 요청을 기다렸다가, 웹 요청(HTTP)에 대한 데이터를 만들어서 응답합니다. 이때 데이터는 웹에서 처리할 수 있는 HTML, CSS, 이미지 등 정적인 데이터로 한정합니다.

하지만 웹 서버에서 처리할 수 있는 데이터가 정적인 HTML, CSS, 이미지같은 데이터만 처리할 수 밖에 없는 한계점에 직면하게 됩니다. (프로그래밍 언어를 사용하고 싶어도 HTML은 프로그래밍 언어가 아니죠...)

그래서 등장한 것이 WAS입니다..!

WAS

WAS는 Web Application Server의 약자입니다. 즉, Web Application 웹에서 실행되는 응용 프로그램을 가진 Server 인 것 입니다.

  • 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크.
  • 웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달.
  • php, jsp, asp와 같은 언어들을 사용하여 동적인 페이지를 생성할 수 있는 서버.
  • 프로그램 실행 환경과 데이터베이스 접속 기능 제공.
  • 비즈니스 로직 수행 가능.
  • 웹 서버 + 웹 컨테이너
    • 컨테이너: jsp, servlet을 실행시킬 수 있는 소프트웨어
  • 자바 계열에서는 웹 어플리케이션 컨테이너라고 부르며, '웹 어플리케이션이 배포되는 공간'이라는 의미.

동작 방식

  1. 클라이언트에서 WAS로 요청을 보냅니다.
  2. 웹 서버에서 요청이 동적 페이지인지 정적 페이지인지 확인 후, 동적 페이지 요청일 시, 웹 컨테이너로 보냅니다.
  3. 컨테이너에서 서블렛을 실행하여 동적 컨텐츠 생성.
  4. 웹 서버로 전달.
  5. 웹 서버에서 클라이언트에게 전달.

웹 서버와 WAS의 종류

웹 서버에는 대표적으로 아파치, Microsoft IIS, Nginx 등이 있으며, WAS에는 대표적으로 Tomcat, IBM WebSphere, JEUS등이 있습니다.

Web Server VS WAS

결론적으로, 웹 서버는 정적인 컨텐츠만 제공할 수 있으며, WAS는 상황에 맞는 어플리케이션을 돌리고 DB를 연결하여 동작을 수행하여 만들어진 동적 컨텐츠를 제공할 수 있습니다.

"상황에 따라 변하는 정보를 제공할 수 있는가"

profile
NO EFFORT, NO RESULTS

0개의 댓글