본문 바로가기

#5 컴퓨터 과학(CS) 🪄/5-1 개발 상식

WAS(Web Application Server) vs WS(Web Server)

WAS와 WS는 뭐가 다르지??



Web Server 란??
  • 웹 브라우저(클라이언트)로부터 http 요청을 받아 HTML 문서와 같은 정적 콘텐츠를 제공하는 프로그램 
  • 동적 콘텐츠 요청 시 WAS로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달

 

WAS (Web Application Server) 란?
  • DB 조회나 다양한 로직 처리를 요구하는 동적 콘텐츠를 제공하기 위해 만들어진 프로그램

 

💡WAS(Web Application Server)

- 비지니스 로직을 넣을 수 있음 (Web Server가 Application 역할까지 함)
- 대부분의 WAS는 WS를 내장하고 있기 때문에 정적 콘텐츠도 제공 가능
- Tomcat, PHP, ASP, .NET 등

 

💡WS(Web Server)

- 비지니스 로직을 넣을 수 없음
- Apache, Nginx(http 경우:80, https 경우 443)

 

그럼 WAS가 다해줄수있는데 WS가 왜 필요하지? (WS 사용 이유)

 

WAS 와 WS를 같이 사용했을 때의 장점
  • 책임 분할을 통한 서버 부하 방지
    • 정적 콘텐츠는 WS, 동적 콘텐츠는 WAS가 담당
  • 여러 대의 WAS 로드밸런싱
    • WAS가 처리해야 하는 요청을 여러 WAS가 나누어 처리할 수 있도록 설정
  • 여러 대의 WAS Health check
    • 서버에 주기적으로 http 요청을 보내 서버의 상태를 확인 (ex 특정 url 요청에 200응답이 오는지?)
  • 보안
    • 리버스 프록시를 통해 실제 서버를 외부에 노출시키지 않음

 

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