[JSP] 3. 웹 어플리케이션



웹 어플리케이션 서버에 대해 알아보자



3-1. 웹 어플리케이션 서버(WAS: Web Application Server)


  • 웹 서버 + 웹 컨테이너
  • 웹에서 실행되는 응용 프로그램
  • 웹 브라우저(클라이언트)가 웹 서비스를 요청하고 결과를 제공받음
  • 웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버
  • EJB와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능들을 포함
  • 업무를 처리하는 비즈니스 로직, 동적인 컨텐츠를 처리
  • WAS는 JSP, PHP, ASP 페이지 등 처리
  • WAS는 Web Logic, Web Sphere, Jeus, Tomcat 등


3-2. 웹 서버(Web Server)


  • 클라이언트로부터의 요청을 받고 결과를 전달하는 기능
  • HTTP프로토콜을 사용하여 클라이언트와 통신함
  • 정적인 것을 웹 서버에서 기능을 분배하여 서버의 부담을 줄임
  • 웹 서버는 웹문서 같은 웹 페이지(html, img, css)를 정적인 컨텐츠를 처리
  • 웹 서버는 Apache, IIS, Nginx 등


3-3. 컨테이너(Containner)


  • JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라고 한다.
  • Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는 자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.
  • 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿의 수행결과를 웹 서버에서 전달하게 된다.


3-4. 웹 서버와 WAS의 차이점


서버의 성능을 개선하기 위해 웹 서버의 기능을 분리


웹 서버

  • 정적인 HTML이나 이미지를 제공하는 서버
  • was로 관리하는 것보다 안정적이고 빠름


WAS

  • 동적인 데이터 처리를 담당하는 서버
  • 비즈니스로직을 처리


what-servlet s1




출처