오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-10 00:03
관리 메뉴

우노

[Web] 웹서버와 웹 어플리케이션 서버 본문

Web/Concept

[Web] 웹서버와 웹 어플리케이션 서버

운호(Noah) 2023. 2. 18. 17:28

웹 서버와 웹 어플리케이션 서버의 구조

웹 서버

  • 클라이언트가 정적 데이터(HTML, CSS, etc)를 요청하면, 앞단에서 빠르게 제공하는 역할을 합니다.
  • 클라이언트가 동적 데이터를 요청하면, WAS에 요청을 보내고, WAS가 처리한 데이터를 클라이언트에게 전달하는 역할을 합니다.
  • 웹 서버 종류로는 NGINX, APACHE 등이 있습니다.

웹 어플리케이션 서버

  • 클라이언트가 요청한 동적 데이터(DB 조회, 다양한 로직 기반 컨텐츠, etc)를 처리하는 역할을 합니다.
  • 웹 어플리케이션 서버 종류로는 아파치 톰캣, 제우스, 제티(Jetty), 레진(Resin) 등이 있습니다.

WAS가 Web Server의 모든 기능을 수행하면 되는 거 아닌가? Web Server는 왜 사용하는가?

  • 정적, 동적 데이터 처리 서버를 분리하여, 서버 부하를 방지할 수 있습니다.
    • WAS는 동적 컨텐츠 처리로 바쁘기 때문에, 단순한 정적 컨텐츠는 Web Server에서 빠르게 클라이언트한테 제공하는 것이 좋습니다.
    • 정적 컨텐츠 요청까지 WAS에서 수행하게 되면, 동적 컨텐츠 처리가 지연됨에 따라 전체적인 수행속도가 느려집니다.
  • 여러 대의 WAS를 연결해, 장애 대응 및 로드 밸런싱을 사용할 수 있습니다.
    • Fail over, Fail back 처리에 유리하다.
    • Web Server와 WAS를 분리하여, 오류가 발생한 WAS를 사용하지 않고, 다른 WAS를 사용하게 만듦으로써 무중단 운영을 가능하게 합니다.
  • 여러 언어의 웹 어플리케이션 서비스가 가능합니다.
    • 하나의 서비스에서 PHP Application, Java Application 등의 여러 웹 어플리케이션을 활용할 수 있습니다.

결론

  • 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수 등의 편의성을 위해 Web Server와 WAS를 각기 사용합니다.

참고

'Web > Concept' 카테고리의 다른 글

[Web] CORS란?  (2) 2023.06.05
Comments