Servlet/JSP - 웹 서버(WA)와 웹 어플리케이션 서버(WAS)

1. 웹서버 

 웹서버(Web Server)란  웹 브라우저(사용자)가 HTTP/HTTPS를 이용하여 요청을 하면 그 요청에 맞는 파일들(그림, 이미지,html 문서 등)을 사용자에게 보내는 서버를 말한다. 사용자가 웹 브라우저를 통해 특정 URL에 접속하면, 웹 서버는 해당 요청에 맞는 정적 컨텐츠를 찾아 사용자에게 전달한다.

 

 

 

웹서버는 정적파일 요청처리를 하며 프록시 서버  역할도 한다.

대표적인 웹서버는 NginX, 아파치(Apache)이다.

 

 

 

2. 웹 어플리케이션 서버

 웹 어플리케이션 서버(WAS: Web application Server)란 사용자가 동적 데이터를 요청할 때 처리할 수 있는 프로그램을 말한다.

 

 

 동적인 자료(시간, 종류 등 각자가 원하는 것 등)를 요청을 하면 웹 서버는 해당 로직을 담당하는 코드를 찾고 그 코드를 실행해주는 것이 WAS이다. WAS는 웹 서버의 기능을 포함하면서도, 사용자의 요청에 따라 동적인 컨텐츠를 생성하여 제공하는 서버이다. WAS는 데이터베이스 조회, 로직 처리 등 복잡한 비즈니스 로직을 수행하여 동적인 웹 페이지를 생성하고, 이를 사용자에게 전달한다. WAS의 예로 톰캣(Tomcat),gunicorn(python)이 있다.

 

 

 

 

3. 웹 아키텍처

 웹 서버와 WAS는 서로 다른 역할을 수행하지만, 현대의 웹 아키텍처에서는 이 두 시스템을 함께 사용하여 각각의 장점을 극대화한다. 예를 들어, 웹 서버를 사용하여 정적 컨텐츠를 빠르게 제공하고, 동적인 요청은 WAS로 전달하여 처리할 수 있다. 이러한 구성은 시스템의 부하를 효율적으로 분산시키고, 보안성을 강화하며, 확장성을 높이는 등의 이점을 제공한다.