어 나 갱수.

[네트워크] Web Server와 WAS의 차이 🙏 본문

네트워크

[네트워크] Web Server와 WAS의 차이 🙏

김경수 2023. 8. 3. 23:32
728x90

Web Server와 WAS의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다.

먼저, 정적 페이지와 동적 페이지를 알아보자

 

Static Pages

바뀌지 않는 페이지

웹 서버는 파일 경로를 받고, 경로와 일치하는 file contents를 반환한다.

항상 동일한 페이지를 반환한다.

Dynamic Pages

인자에 따라 바뀌는 페이지

인자의 내용에 따라 동적인 contents를 반환함

웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물임 (Servlet : was 위에서 돌아가는 자바 프로그램)

 

Web Server와 WAS의 차이

Web Server

개념에 있어서 하드웨어와 소프트웨어로 구분된다.

하드웨어 : Web Server가 설치되어 있는 컴퓨터

소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받고, 정적인 컨텐츠(html, css 등)을 제공하는 컴퓨터 프로그램

 

Web Server의 기능

웹서버는 위에서 말했던 것처럼 단순히 정적인 컨텐츠를 제공합니다.

정말 단순하게, client의 요청을 받아서 원하는 정적 컨텐츠를 제공한다.

 

WS만 사용한다면, 사용자마다 맞춤 page를 정적 컨텐츠로 미리 준비해야하고 page에 정보가 바뀔때마다 업데이트를 해줘야 합니다.

WAS

위의 문제점을 해결하기 위해 우리가 할 수 있는 방법은 정보를 동적으로 해결하는 방법 입니다.

DB의 목적은 page용 DB가 아닌 정보를 저장하는 용도입니다.

 

WAS는 웹서버의 기능도 할 수 있기 때문에 정적 page도 그렸습니다.

WAS는 client의 요청 정보에 따라, DB의 데이터를 가공하여 동적인 컨텐츠를 제공하는 것이 WAS의 기능입니다.

 

WAS의 동작 방식

WAS는 servlet Container가 처리하는 방식입니다.

 

  1. client의 요청은 servlet을 이용하여 처리.
  2. WAS는 servlet container로 servlet을 관리.

Spring에서는 어떻게 작동하지?

spring boot의 경우 내장 WAS를 사용하여 이러한 연동을 자동으로 처리합니다.

그렇기 때문에, spring boot를 통해 서버를 띄우면 WAS위에 spring이 올라가서 구동된다고 표현하는 것입니다.

 

Web Server와 WAS를 구분하는 이유는?

Web Server가 필요한 이유

  • 웹 서버에서는 정적 컨텐츠만 처리하도록 기능 분배를 해서 WAS의 부담을 줄이는 것

WAS가 필요한 이유

  • WAS를 통해 요청에 맞는 데이터를 DB에서 가져와 비즈니스 로직에 맞게 그때마다 결과를 만들고 제공하면서 자원을 효율적으로 사용할 수 있음

WAS에서 Web Server의 기능까지 다 처리할 수 있는거 아닌가요?

  • WAS는 DB조회, 로직을 처리하는데 집중해야함
  • Web Server는 WAS의 부담을 줄여준다.

Rerference

728x90