[스프린터스] WAS와 WS

MSK·2022년 6월 23일
0

WS (WEB SERVER)
-HTML, CSS ,JS, JPG 등 정적인 데이터를 처리

  • HTTP 프로토콜에 의해 제공
  • ex) apache, nginx, gws, etc...

WAS (Web Application Server)
-JSP, ASP, PHP 등 사용자의 입력을 받아 무언가를 처리하고 결과를 보여주는 등 동적인 데이터를 처리하는 웹서버 (DB조회, 로직처리 요구되는 컨텐츠)

  • 정적인 데이터 처리 가능하지만 부하가 많이 걸려서 좋지 않음
  • 일반적으로 웹서버의 기능을 내제하고 있어 웹 서버 없이도 서비스가 가능
  • 컨테이너, 웹컨테이너, 서블릿 컨테이너라고도 부름
    *JSP, Servlet을 실행시킬 수 있는 소프트웨어 = 컨테이너
  • ex) tomcat, jeus, web logic, etc...

①웹서버로 부터 요청이 들어오면 제일먼저 컨테이너가 이를 알맞게 처리한다.
②컨테이너는 배포서술자(web.xml) 를 참조하여 해당 서블릿에 대한 스레드를 생성하고 요청(httpServletRequest) 및 응답(httpServletResponse) 객체를 생성하여 전달한다.
③ 다음으로 컨테이너는 서블릿을 호출한다.
④호출된 서블릿의 작업을 담당하게 된 스레드(미리 생성된 스레드)는 요청에 따라 doPost() 또는 doGet()을 호출한다.
⑤ 호출된 doPost() 또는doGet()메소드는 생성된 동적페이지를 Response객체에 실어서 컨테이너에 전달한다.
⑥컨테이너는 전달받은 Response 객체를 HTTPResponse형태로 전환하여 웹서버에 전달하고 생성되었던 스레드를 종료하고 요청(httpServletReqeust)및 응답(httpSerletResponse)객체를 소멸시킨다

WS와 WAS를 구분하는 이유

  • WS는 정적 데이터를 처리하는 기능을 분배하여 서버의 부담을 줄임
  • WAS는 정적 데이터를 처리를 위해 지연되는 시간이 줄어 동적 컨텐츠의 처리속도가 향상됨

참고자료

profile
여긴어디나는누구

0개의 댓글