web application server 와 webserber

강찬우·2023년 12월 22일

웹서버(WS)와 웹 어플리케이션 서버(WAS)

웹 개발의 에서 "웹서버(WS)"와 "웹 어플리케이션 서버(WAS)"는 핵심적인 구성 요소이다. 이 글에서는 이 두 서버의 차이점과 각각의 중요성에 대해 알아보려한다

웹서버(WS)란?

웹서버는 HTTP 프로토콜을 사용하여 클라이언트의 요청에 따라 정적 컨텐츠(HTML 페이지, 이미지, CSS, JavaScript 파일 등)를 제공하는 서버이다. 가장 잘 알려진 웹서버 소프트웨어로는 Apache, Nginx, IIS 등이 있습니다.

웹서버의 주요 기능:

  • 클라이언트 요청에 대한 HTTP 응답 제공
  • 정적 컨텐츠 호스팅 및 전송
  • 도메인 및 URL 관리
  • SSL/TLS를 통한 보안 연결 관리

웹 어플리케이션 서버(WAS)란?

웹 어플리케이션 서버는 동적 컨텐츠를 생성하고 제공하는 데 중점을 둔다. 이는 사용자의 요청에 따라 실시간으로 웹 페이지를 생성하거나 데이터를 처리하는 복잡한 작업을 수행한다. 대표적으로 Java의 Tomcat, IBM WebSpeher 등이 있다.

WAS의 주요 기능:

  • 동적 웹 페이지 생성 및 제공
  • 데이터베이스 연동 및 서버 측 스크립트 처리
  • 세션 관리 및 보안 인증
  • 애플리케이션 서비스 제공

WS와 WAS의 차이점

웹서버와 웹 어플리케이션 서버의 가장 큰 차이점은 정적 컨텐츠 대 동적 컨텐츠의 제공 방식에 있다. 웹서버는 정적 파일을 직접 제공하는 반면, 웹 어플리케이션 서버는 사용자의 요청에 따라 컨텐츠를 동적으로 생성하고 데이터베이스와의 상호 작용을 포함한다.

또한, 웹서버는 주로 네트워크 요청을 처리하고 효율적인 파일 전송을 담당하는 반면, 웹 어플리케이션 서버는 복잡한 비즈니스 로직을 처리하고 애플리케이션의 핵심 기능을 수행하게 된다.

ws 와 was를 같이 사용하는 이유

  1. 성능 최적화: 웹서버는 정적 컨텐츠를 빠르고 효율적으로 제공하는 데 최적화되어 있다. 반면, 웹 어플리케이션 서버는 동적 컨텐츠를 생성하고 처리하는 데 특화되어 있다. 이들을 분리함으로써, 각 서버는 자신의 강점을 활용하여 전체 시스템의 성능을 극대화할 수 있게된다.

  2. 부하 분산: 정적과 동적 컨텐츠 요청을 다른 서버가 처리함으로써 부하 분산이 가능해집니다. 이는 트래픽이 많은 시간에도 웹사이트의 안정성을 유지하는 데 도움이 된다.

  3. 보안 강화: 보안 측면에서, WS와 WAS를 분리하면 보안 위험을 분산시킬 수 있다. 예를 들어, 공격자가 웹서버에 접근할 경우에도, 웹 어플리케이션 서버와 그 뒤에 있는 데이터베이스는 별도로 보호될 수 있다.

  4. 유연한 유지보수 및 확장성: 서로 다른 서버를 사용하면, 시스템을 업데이트하거나 확장할 때 한 부분만을 수정하거나 업그레이드할 수 있어 유지보수가 용이하다. 이는 시스템의 전반적인 가용성과 안정성을 향상시킨다.

  5. 기술 스택의 다양성: WS와 WAS를 분리함으로써, 각기 다른 기술 스택을 사용할 수 있습니다. 예를 들어, 웹서버로는 Apache나 Nginx를 사용하고, 웹 어플리케이션 서버로는 Tomcat이나 JBoss 등을 사용할 수 있다. 이는 팀이 특정 기술에 더 능숙하거나 특정 요구사항을 충족시키기 위한 선택을 가능하게 한다.

0개의 댓글