[면접]Web Server 와 WAS

Gooder·2021년 7월 14일
0

CS 면접 준비하기

목록 보기
1/5
post-thumbnail

백엔드 개발자 채용 과정에서 반드시 만나는 직무 면접에서 가장 많이 들었던 질문은

"Web Server와 Web Application Server의 차이점을 설명해주세요"

인 것 같습니다.

처음 이 질문을 받았을 때 순간 멍했었던 기억이 있습니다.

이 둘의 가장 큰 차이점은 "동적인 컨텐츠를 다룰 수 있는가?"인 것 같습니다.

웹서버는 처리할 수 있는 데이터가 html, css, 이미지 등 정적인 데이터로 한정됩니다.

하지만? 우리는 웹 어플리케이션에서 정적인 데이터가 아닌 동적인 컨텐츠까지도 쓰고싶습니다. 이러한 욕구를 충족시켜주는게 바로 웹 어플리케이션 서버입니다.

웹 어플리케이션 서버는 아래 그림과 같은 웹 서버에 웹 컨테이너를 붙인 형태입니다.

WAS를 사용해서 클라이언트가 서버로부터 데이터를 받는 방식은 다음과 같습니다.

  1. 클라이언트가 웹 서버에 데이터를 요청합니다.
  2. 웹 서버에서는 동적 컨텐츠인지를 확인합니다.
    2-1 동적 컨텐츠라면 웹 컨테이너로 전송합니다.
    2-2 정적 컨텐츠라면 클라이언트에게 데이터를 전송합니다.
  3. 동적 컨텐츠를 전송받은 웹 컨테이너는 Servelet 구동환경을 제공합니다.
  4. 제공받은 환경에서 동적 컨텐츠를 생성하고 이를 웹서버에 넘겨줍니다.
  5. 넘겨받은 동적 컨텐츠를 클라이언트에게 전송해줍니다.

cf) 컨테이너 : jsp나 servlet을 수행 시킬 수 있는 소프트웨어를 의미합니다. 자바에서는 이를 웹 어플리케이션 컨테이너라고 부릅니다. 이는 간단하게 말해서 웹 앱이 배포되는 공간이라고 생각하시면 됩니다.

그렇다면 servler과 jsp는 무엇일까요?? 이는 다음 게시글에서 소개하도록하겠습니다.

profile
세상을 변화시킬 신스틸러 서비스를 만들고싶은 개발자 Gooder 입니다.

0개의 댓글