스프링MVC-웹애플리케이션이해v2020-03-08.pdf
스프링MVC-웹애플리케이션이해v2020-03-08.pdf
웹 서버, 웹 애플리케이션 서버
- 웹 서버
- HTTP 기반으로 동작
- 정적 리소스 제공. HTML, CSS, JS, 이미지, 영상 등
- NGINX, APACHE
- 웹 애플리케이션 서버(WAS)
- HTTP 기반으로 동작
- 웹 서버 기능 포함 + 애플리케이션 로직 수행
- 동적 HTML, HTTP, API(JSON), 서블릿, JSP, 스프링 MVC
- 톰캣 Jetty, Undertow
- 웹 시스템 구성 - WEB(정적 리소스), WAS(동적 리소스), DB
서블릿
- 의미있는 비즈니스 로직 외의 request, response 부분을 편리하게 사용할 수 있도록 대신하는 기능.
- 서블릿 컨테이너: 톰캣처럼 서블릿을 지원하는 와스(WAS).

- 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기 관리
- 서블릿 객체는 싱글톤으로 관리. 재활용해서 사용
멀티 쓰레드
HTML, HTTP API, CSR, SSR
- 정적 리소스: 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공. 주로 웹
- HTML: JSP, Thymeleaf를 통해 동적으로 HTML을 생성해서 보냄
- HTTP API
- : JSON 형식의 데이터를 전달.
- 웹, 앱 클라이언트 또는 서버가 서버에게 요청
- SSR - 서버 사이드 렌더링
- HTML 결과물이 서버에서 생성해서 웹 브라우저에게 전달.
- JSP, Thymeleaf → 벡엔드 개발자
- CSR - 클라이언트 사이드 렌더링
- HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 적용.
- React, Vue.js → 웹 프론트엔드 개발