1. 클라이언트 요청
브라우저에서 사용자가 웹 애플리케이션에 접속, 특정 URL을 요청.
이 요청은 HTTP 요청으로 전달.
2. DispatcherServlet
DispatcherServlet은 Spring MVC 프레임워크에서 중앙 집중식 컨트롤러로 작동.
클라이언트의 요청을 받아들이고, 이를 처리하기 위해 다른 컴포넌트들과 상호작용함.
3. HandlerMapping
HandlerMapping은 클라이언트 요청과 매핑된 컨트롤러(Handler)를 찾아줌.
요청된 URL에 해당하는 컨트롤러를 찾기 위해 등록된 매핑 정보를 참조함.
4. Controller
컨트롤러는 클라이언트 요청을 처리하는 데 사용됨.
요청에 맞는 비즈니스 로직을 수행하고, 데이터를 처리한 후에는 결과를 반환.
5. ViewResolver
ViewResolver는 컨트롤러가 반환한 논리적인 뷰 이름을 실제 뷰로 매핑해줌.
뷰 이름을 기반으로 실제 뷰 객체를 찾아주는 역할을 함.
6. View
View는 클라이언트에게 보여질 결과 화면을 생성하는 역할.
주로 JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 동적인 HTML을 생성.
7. 클라이언트 응답
생성된 뷰는 HTML 형태로 렌더링되어 클라이언트에게 응답으로 전송됨.
브라우저는 이 응답을 받아서 화면에 표시함.
이러한 단계를 거쳐 Java Spring에서 브라우저의 작동 방식이 이루어짐. 이 과정을 통해 클라이언트의 요청을 처리하고, 그에 맞는 응답을 생성하여 브라우저에 전달함.
이렇게 쿠키와 세션은 무상태 프로토콜인 HTTP의 한계를 극복하기 위해 개발된 개념이며, 각각 클라이언트와 서버에서 상태 정보를 유지하는 방식으로 동작.