웹 어플리케이션

KJH·2023년 1월 4일
0

SpringMVC1

목록 보기
2/8
post-thumbnail

웹서버, WAS

웹 서버

Http 기반으로 정적 리소스들을 주고받는 서버

WAS (web application server)

웹 서버의 기능을 포함하며, 프로그램 코드를 실행해 애플리케이션 로직 수행
자바는 서벌릿 컨테이너 기능을 제공하면 WAS (ex.tomcat)

정적 리소느는 웹 서버가 처리하고, 동적인 처리가 필요하면 WAS에 위임


서블릿

Http 요청이 들어오면

  • WAS가 Request,Response 객체를 만들어 서블릿 호출
  • 개발자는 Request 객체에서 정보를 꺼내서 사용 & Response 객체에 응답 정보 입력
  • WAS는 Response객체로 Http 응답 생성

서블릿 컨테이너

  • 서블릿을 지원하는 WAS (ex.tomcat)
  • 서블릿 생명주기 관리
  • 싱글톤으로 관리 (오직 1개의 객체)
    • 최초 로딩 시점에 객체를 만들어놓고 재활용
    • 모든 요청은 동일한 서블릿 객체 인스턴스에 접근
  • 멀티 쓰레드 지원

다중요청 (쓰레드)

쓰레드 풀을 이용해서 사용

쓰레드는 풀에 이미 생성되어 있으며, 필요할 때 꺼내서 쓰고 반납
만일 모든 쓰레드가 사용중이여면, 요청을 거절하거나 대기
쓰레드 생성 비용 절약, 빠름, 안전

max thread

  • 높으면? => 서버는 여유롭지만, 클라이언트 응답 지연
  • 낮으면? => 서버 리소스 죽어감

WAS의 지원

  • 멀티 쓰레드는 WAS가 처리 (내가 신경 X)
  • 싱글톤 객체는 주의해서 사용

0개의 댓글