본문 바로가기

Server

[Server] WEB(웹서버)과 WAS(웹 애플리케이션 서버)의 차이점

WEB Server

웹서버는 1)정적인 컨텐츠를 처리(.html, .css, .jpeg)하거나 2)동적인 컨텐츠 제공을 위한 요청WAS로 보낸다.

ex) apache server, ngnix

 

 

WAS(Web Application Server)

WAS는 동적인 컨텐츠를 처리한다. 예를들어 request url에 querystring을 포함한다면 해당 값에 따라 응답값이 달라져야 하므로 was에서 처리한다. WAS는 웹컨테이너나 서블릿 컨테이너 라고도 불리는데 JSP나 Servlet 구동 환경을 제공하기 때문이다.

ex) tomcat, jboss

Web/ WAS 동작 과정

 

WebServer와 WAS를 같이 사용하는 이유

WAS에서도 정적인 컨텐츠를 처리할 수 있지만 그렇게 하지 않는 이유는

1) WEB서버에서는 웹문서만 처리하도록 기능을 분배하여 서버의 부담을 줄이기 위해서이다.  

 

하지만 실제로는 WAS로만 요청을 처리해도 성능에 큰 차이가 없다는 의견도 있으며, 웹개발에서 많이 사용하는 jsp는 WAS에서만 처리 가능하다. 그럼에도 WebServer와 WAS를 분리하는 이유는

 

2) 개발 관행이다

3) 정적 파일을 캐싱, 압축하여 제공하거나, 한 서버에서 다양한 언어로 된 미들웨어들이 돌아야하거나 SSL처리나 분산처리 등과 같은 디테일한 설정을 잡기 용이하다.

4) 보안상의 이유

 ->  웹서버는 누구나 접속이 가능게, WAS는 아무나 접근하지 못하게 웹서버 IP에서만 WAS로 통신이 되게하여 보안을 유지한다.

5) 여러사이트를 하나의 웹서버에 연결시켜서 컨트롤 해야 하는 경우 성능 차이가 발생할 수 있다. 

 

정리

  • Web Server는 정적인 컨텐츠를 처리한다.
  • WAS(Web Application Server)는 동적인 컨텐츠를 처리한다.
  • Web과 WAS를 구분하여 사용하는 이유는 기본적으로 성능문제이며 그 외 개발 관행, 다양한 언어 사용, 보안상의 이유 등이 있다.

Reference

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://okky.kr/articles/623715

 

OKKY - 이해안가는 ..

왜 톰캣자체를 웹서버로 사용을 못하나요..?왜 웹서버(아파치)와 was를 나눠둔건가요..?그 답이 웹서버는 정적컨텐츠was는 동적컨텐츠를 담당한다고 하는데이상한건 제가 지금 제 본 데스크탑에

okky.kr