Lee's Grow up

[Web] WAS 와 웹서버란? ( WAS, Web Server ) 아파치 (apache) 톰캣 (tomcat ) 본문

Web/web

[Web] WAS 와 웹서버란? ( WAS, Web Server ) 아파치 (apache) 톰캣 (tomcat )

효기로그 2019. 11. 29. 11:05
반응형

올해 초 웹 개발자 면접을 진행하면서
WAS와 Web Server의 차이는 무엇인가요? 라는 질문을 많이 들었던것 같다.
답변으로 정적인 페이지 처리와, 동적인 페이지처리의 차이가 있다. 라고 기본적인 답변을 했었습니다.


그리고 어떻게 동작하는지 아시나요? 라고 질문을 하신 분들도 계셨는데
답변으로 htmlcss같은 정적문서 요청인 경우 Web Server 가 처리하고 JSP,Script 같이 동적문서 요청인 경우 WAS가 처리한다고 답변을 했었습니다.


위에 말이 틀린말은 아니지만, 이번 포스팅에서는 좀 더 어떤 방식으로 동작하는지에 대해서 구체적으로 공부를 하기 위한 포스팅이 목적입니다.

1. 전체 구조


Web Server 란 ?


클라이언트의 request가 오면 요청에 대한 처리를 담당하며
정적문서( html, css ) 등일 경우 요청에 응답을 해줍니다. 대표적으로 Apache 에 해당합니다.

동작
  • 요청이 정적 컨텐츠일 경우 제공
  • 요청이 정적 컨텐츠가 아닐 경우 WAS로 처리를 위임 후, 넘어온 값을 응답

WAS ( Web Application Server ) 란 ?


동적 컨텐츠를 제공하기 위해 만들어진 미들웨어로써, DB조회가 필요하거나 처리가 필요한 JSP/Servlet 구동 환경을 제공합니다.
대표적으로 Tomcat가 있습니다.

동작
  • Web Server로 부터 요청이 오면 컨테이너가 응답
  • 컨테이너는 JSP/Servlet을 실행
  • 컨테이너는 요청 결과를 HTML 문서로 만들어 Web Server로 전달

Web Server 과 WAS의 차이


  1. 동적 컨텐츠처리와 정적 컨텐츠 처리의 역할을 분리해서 WAS 서버의 부하 방지
  2. WAS가 불필요한 경우 Web Server이 처리를 함으로써 성능 향상 ?
    일부는 맞고 일부는 틀린말이라고 생각합니다. 과거에는 WAS에서 정적 컨텐츠 처리 기능을 제공하지 않았지만, 요즘 WAS는 내부에 HTTPD의 일부 기능을 제공하기 때문에 속도의 차이는 없다고 합니다.
그렇다면 왜 사용하는 것일까?
  • 1번에서 말한거 처럼 WAS 서버의 부하를 방지
  • 물리적으로 분리하여 ( Web Server과 WAS 서버의 포트가 다름 ) 보안강화
  • 위 구조 그림처럼 여러대의 WAS를 연결하여 사용 가능, 로드밸런싱의 역할
    • 이는 java서버, php서버 등 하나의 웹서버를 통해 서비스가 가능
반응형

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

[web] HTTP란 HTTP의 구조 및 핵심 요소  (0) 2020.01.08
Comments