왜 WAS와 Web Server를 같이 사용하는걸까?

 

Web과 WAS란 ? 웹 서비스의 구조에 대해 알아보자

Web Server (웹 서버) 웹 서버란, HTTP 프로토콜을 기반으로 동작하는 서버로, 동작하는 방식은 클라이언트가 웹 서버에 HTTP 요청을 보내면 웹 서버는 HTTP로 응답하여 정적 리소스를 제공합니다. 대표

hstory0208.tistory.com

 

보통 웹 서비스는 아래의 그림처럼  Client  ↔ Web Server ↔  WAS  ↔   DB   이런식으로 요청 , 응답을 주고 받는다.

WAS만으로도 웹 서비스를 제공할 수 있는데 왜 앞에 Web 서버를 붙여 같이 사용하는걸까? 그 이유는 다음과 같다.

1. 성능 향상

웹 서버는 정적 콘텐츠(이미지, CSS, JavaScript 등)의 처리에 최적화되어 있다.

따라서 웹 서버가 정적 콘텐츠를 처리하고 웹 애플리케이션 서버는 동적 콘텐츠를 처리함으로써 각각의 서버가 자신의 전문 분야에서 최상의 성능을 발휘한다.

이를 통해 전체 서비스의 성능을 향상시킬 수 있다.

 

2. 캐싱 및 압축

웹 서버는 정적 리소스에 대한 요청을 캐시하고 압축하여 서비스 속도를 높이고 네트워크 대역폭 사용을 줄일 수 있다.

이렇게 함으로써 사용자에게 더 빠른 응답을 제공할 수 있다.

 

3. 로드 밸런싱

웹 서버는 로드 밸런서 역할을 할 수 있다.

백엔드에 여러 웹 애플리케이션 서버가 배포되어 있는 경우 웹 서버는 들어오는 요청을 각 서버에 분산시켜 서버 부하를 줄여 전체 서비스의 처리량이 높아지고, 가용성이 향상된다.

 

4. 보안

웹 서버는 리버스 프록시 또는 DMZ(비무장 지대) 역할을 하여 외부와 내부 네트워크를 격리시킬 수 있다.

이렇게 하면 공격자가 직접 웹 애플리케이션 서버에 접근하는 것을 방지하여 전체 서비스의 보안 수준을 높일 수 있다.

또한 웹 서버에서 SSL/TLS를 설정하여 HTTPS를 통한 암호화된 연결을 지원할 수 있다.

이를 통해 데이터 전송 속도를 높일 수 있고, 더 안전한 데이터 통신이 가능해진다.


지금까지 왜 Web Server와 WAS 서버를 분리해서 사용하는지에 대한 궁금증을 풀어보았다.

그렇다면 대표적인 웹 서버 중 Nginx, Apache가 있는데 왜 Nginx를 주로 사용하는지, Nginx가 무엇인지에 대해 알아보자.

 

Nginx란 무엇이고 왜 사용하는가? (Apache와 차이점)

 

hstory0208.tistory.com