Python/Deployment

[웹서버] WebServer와 WAS 차이

yubi5050 2022. 8. 23. 16:42

Web Server 란?

WebServer는 HTTP, HTTPS를 통해 Web Browser와 직접 통신하며 정적 콘텐츠(html, css, js 등)를 클라이언트에 제공해주며 WAS의 부하를 줄이기 위해, 기본적인 도메인 라우팅 관리, 부하 로드밸런싱, ssl 등의 작업 수행 하여 was의 역할 분담 등의 목적으로 주로 사용 된다. 주로 많이 언급되는 WebServer로는 Apache Tomcat, Nginx, IIS(Window) 등이 있다.

 

WAS (Web Application Server)

WAS (Web Application Server)는 외부로부터 Traffic을 받아 중간 Interface(Gunicorn, uWSGI 등)에서 Web Application으로 Request를 전달하고, Response를 받는 중간 서버를 의미한다. (때때로 WAS의 범위는 Web Application을 포함하기도 한다.)

 

주로 비즈니스 로직을 통해 동적 콘텐츠를 처리하는 역할, Webserver와 웹 프레임워크(application)간의 interface 역할 (http <-> wsgi, 요청-응답), 스레드 풀을 통한 작업 요청 스케쥴링 등을 수행한다. 

WAS의 구조 예로는 하나의 EC2에 Gunicorn + Django의 범위 조합을 WAS라고 할 수 있다.

 

이미지 출처 :&nbsp;https://ahzick.tistory.com/entry/Web-Server-WAS-WSGI-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0