-
Springboot -동작원리SpringBoot 2021. 10. 4. 17:00
# Web Server
- HTTP 프로토콜을 기반으로 client의 HTTP request를 서비스 하는 서버, 프로그램
- 정적 컨텐츠 제공
- WAS없이 즉시 request받은 서비스를 제공할 수 있다
- 이미 저장된 파일을 의미하고, 항상 동일한 페이지를 반환한다.
- 동적 컨텐츠 제공을 위해 request 전달
- client의 request를 WAS에 전송하고 WAS의 처리 결과를 다시 client에게 전달한다.
- request에 따라 동적으로 달라지는 컨텐츠는 WAS에 의해 처리된다.
- ex) Apache, Nginx, IIS 등..
# WAS: Web Application Server
- HTTP 프로토콜을 기반으로 client의 동적 컨텐츠에 대한 request를 서비스하는 서버, 프로그램
- 즉, 동적 웹 프로그래밍을 위한 미들웨어의 한 종류.
- ex) Tomcat, Jeus, JBoss 등..
# Web Container (:= Servlet Container)
- JSP/Servlet등 Server-side기술을 이용해 client에 동적 컨텐츠를 제공하기 위한 WAS의 구성 요소
- Servlet의 생명주기 관리. 즉, WAS내부에서 개발자 대신 servlet을 관리하고, servlet이 web server와 통신할 수 있도록 API를 제공한다.
- URL과 특정 servlet을 매핑하여 request, response객체를 생성, 관리한다.
# Servlet(서블릿)
- Servlet = Server application let(한조각), 즉 서버에서 실행되는 작은 프로그램 조각을 의미.
- Web programing에서 Client의 request를 처리하고, 처리 결과를 다시 Client에 전송하는 역할.
- Java programing을 통해 웹페이지를 동적으로 생성한다.
# 동작과정
- Client는 Web server로 request를 보낸다.
- Servlet이 포함된 WAS는 servlet container로 request를 전달한다..
- Servlet container는 각 request를 servlet에 전달한다.
- Servlet내의 service 메소드가 로드되고, 다시 servlet은 container에 response를 전달한다.
- Servlet container는 해당 response를 web server에 전달한다.
- Web server는 이를 client에 보낸다.
Springboot -동작원리
'SpringBoot' 카테고리의 다른 글
Springboot -DI, IoC, Bean ... (0) 2021.10.04 Springboot -@SpringBootApplication (0) 2021.10.04