본문 바로가기
개념 정리

WAS , WS

by cha123 2022. 6. 16.

웹서버(WS)

  • 정적인 파일(html,js,이미지 파일등)을 제공하기 위한 서버로, HTTP프로토콜에 의해 제공
  • 정적 파일로만 처리가능한 것은 WAS로 요청을 넘기지 않고 바로 요청 처리
  • 요청이 많을 경우 웹서버에서는 웹문서를 WAS에서는 JSP페이지를 양분하여 처리 함으로서 서버의 부담을 줄여주는 역활도 가능
    ex) apache, nginx, gws, etc...

웹 어플리케이션 서버(Web Application Server)

  • JSP,APS,PHP등 사용자의 입력을 받아 무언가를 처리하고 결과를 보여주는 동적인 데이터를 처리하는 웹서버(DB조회, 로직처리가 요구되는 컨텐츠)
  • 일반적으로 웹서버기능도 내장하고 있어 웹서버 없이도 서비스가능
  • 컨테이너, 웹컨테이너, 서블릿 컨테이너라고도 부름
    *JSP, Servlet을 실행시킬 수 있는 소프트웨어 = 컨테이너

- 동작 프로세서

  • 웹서버로부터 요청이 오면 컨테이너가 받아서 처리
  • 컨테이너 web.xml을 참조하여 해당 서블릿에 대한 쓰레드를 생성하고 httpServletRequest와
    httpServletResponse 객체를 생성하여 전달
  • 컨테이너 서블릿 호출
  • 호출된 서블릿의 작업을 당담하게 된 쓰레드는 doPost()또는 doGet() 호출
  • 호출된 doPost(), doGet() 메소드는 생성되는 동적페이지를 Response 객체에 담아 컨테이너에 전달
  • 컨테이너는 전달받은 response객체를 HttpResponse 형태로 바꿔 웹버서에 전달하고 생성되었던 쓰레드
    를 종료 후HttpServletRequest, HttpServletResponse 객체를 소멸 시킨다

 

WS 와 WAS를 나누어야하는 이유

  • 데이터처리 방식이 달라 정적 컨테츠를 굳이 WAS에 부하를 줄필요가 없다
  • 사용자들에게 WAS를 공개할 필요가 없다(보안)
  • 여러대의 WAS를 연결 가능(로드밸런싱, fail over, fail back 처리에 유리)

'개념 정리' 카테고리의 다른 글

콜백 지옥  (0) 2022.06.17
동기 와 비동기  (0) 2022.06.15
Node.js를 사용하는 이유  (0) 2022.06.13
var , let , const 차이  (0) 2022.06.09