Web Server VS WAS

 

Web Server란 

웹 브라우저(클라이언트)로 부터 HTTP요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램

 

정적컨텐츠란 ? 

요청 인자 값에 상관없이 달라지지않는 컨텐츠 (html, css, image, ...)

어느 사용자 요청이든 항상 동일한 컨텐츠

 

Web Server의 기능

클라이언트로 부터 HTTP요청을 받을 수 있다.

1.정적 컨텐츠 요청시

정적 컨텐츠를 제공할 수있다

2. 동적 컨텐츠 요청시 

Web Application Server(WAS)로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달

 

Web Application Server(WAS)란 

DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램

 

동적 컨텐츠 

요청 인자에 따라 바뀔 수 있는 컨텐츠

 

WAS의 기능

클라이언트로 부터 HTTP요청을 받을 수있다. (대부분의 WAS는 Web Server내장)

요청에 맞는 정적 컨텐츠를 제공할 수있다.

DB조회나 다양한 로직처리를 통해 동적 컨텐츠를 제공 할 수있다.

 

Q. WAS가 다 해 줄 수있는데 웹서버가 왜 필요할까 ? (웹서버를 같이 사용했을때의 장점)

책임분할을 통한 서버 부하 방지 

정적콘텐츠는 web server , 동적 콘텐츠는 WAS가 담당

  • 여러대의 WAS 로드밸런싱
  • 웹서버는 로드밸런싱 기능을 가지고있는데 앞단에 웹서버를 두고 뒷단에 여러 대의 WAS를 둬서 클라이언트 요청을 웹서버에서 열어보고 나누어서 여러 WAS에서 처리할 수 있도록 설정할 수있다.
  • Health Check : 서버에 주기적으로 HTTP 요청을 보내 서버의 상태를 확인 (ex 특정 url요청에 200 응답이 오는지)
  • 보안 : 리버스 프록시를 통해 실제 서버를 외부에 노출하지 않을 수 있다.

 

WAS만으로도 서비스는 가능하지만 서비스 확장성, 안정성을 고려한다면 앞단에 WEb server를 두는 것이 유리하다.

 

'* > What I did today' 카테고리의 다른 글

8/28  (0) 2021.08.29
JOIN  (0) 2021.08.21
Process vs Thread  (0) 2021.08.20
dto와 entity를 구분해서 구현한 이유  (0) 2021.08.20
스프링 핵심 원리 이해1 - 예제 만들기  (0) 2021.08.06
캡슐화/추상화/다형성  (0) 2021.08.03
DNS  (0) 2021.05.02
비전공자를 위한 이해할 수 있는 IT지식 (정리)  (0) 2021.04.13

+ Recent posts