Java

[Servlet] Web 통신 - Web Server 와 WAS

grove1212 2025. 3. 18. 21:16

컴퓨터(서버) 위에 운영체제(OS)가 깔려 있고, 그 위에서 WAS(톰캣 등)이 돌아가면서 세션 정보를 메모리에 저장하고 관리한다.

1. Web 통신

1-1. Web 통신 구조

1-2. Web Server

  • 사용자에게 HTML 페이지나 jpg, png와 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공하는 서버이다. 내부의 내용이 이미 만들어져 있는 정적인 요소들을 화면에 보여준다.

1-3. WAS(Web Application Server)

  • 사용자가 요청한 서비스의 결과를 스크립트 언어 등으로 가공하여 생성한 동적인 페이지를 사용자에게 보여준다.
  • 대표적으로 Tomcat이 있다.
  • Tomcat, WildFly, JEUS 등이 있다.
  • 주로 ServletContainer와 JSP Container의 기능을 한다.

1-4. Web과 WAS

  • 구조: Web browser ↔ Web (html) ↔ WAS
  • Web과 WAS와 Client끼리 통신을 한다.

2. WAS & Container

2-1. Container (Servlet, JSP)

  • Servlet-Container
    • Servlet의 생명 주기(생성,초기화,소멸)를 관리한다.
    • HttpServletRequest, HttpServletResponse 객체를 생성한다.
    • 요청에 따라 멀티스레딩 구성이 가능하며, 전송 방식에 따라 동적으로 페이지 구성하는 작업을 진행한다.
    • 정적 로딩 처리를 한다.
  • JSP-Container
    • JSP 파일을 java코드로 변경해주고 class파일로 전환하여 메모리 공간에 로드한 뒤 실행 가능하게 만드는 작업(= Servlet화)을 한다.
    • 처리 결과를 HTML파일로 만들어주는 작업을 진행한다.
    • 동적 로딩 처리를 한다.

2-2. WebServer & WAS

 

참고자료

 

서블릿(Servlet)이 뭔지 궁금해?

자바 웹기술 역사는 서블릿 → JSP → (서블릿 + JSP) MVC 패턴 → 스트럿츠, 웹워크 -> 스프링 MVC 요런식으로 발전해왔어요. 요즘은 Spring WebFlux라는 서블릿 기반이 아닌 Web Reactive 기반을 이용하기도

jh2021.tistory.com