이번주 한주는 SPRING 첫번째 주차로 주로 HTTP와 SPRING 기본에 관한것에 대하여 배웠다. 흐음 스프링 알면 알수록 어려운 친구들...과제하면서 바보짓 해서 내 자신이 싫어지는 한 주였다 다음주는 더 알차게 살자!
HTTP : Hyper Text Transfer Protocol
서버와 클라이언트가 서로 데이터를 주고받기 위해 사용되는 통신 규약을 말한다.
기본적으로 HTTP 통신은 request/response 구조이다.
클라이언트가 요청(Request)하면 서버가 응답(Response) 한다.
클라이언트와 서버의 모든 통신이 요청과 응답으로 이루어진다.
HTTP는 Stateless 이다.
HTTP는 상태를 저장하지 않는다. 요청이 오면 응답을 할뿐, 여러 요청/응답 끼리 연결되어 있지 않다. -> 각각의 요청/응답은 독립적인 요청/응답이다.
여러 요청과응답 의 진행과정이나 데이터가 필요할때는 쿠키나 세션 등등을 사용하게 된다.

GET method를 제외하곤 모두 Payload를 보낼 수 있다 -> HTTP에서의 약속각 컴포넌트가 서로 분리되어 각자의 역할에 집중할 수 있기 때문에 시스템 결합도를 낮출 수 있따. 또한 유지보수가 용이하고, 중복코드를 제거할 ㅅ ㅜ있으며 애플리케이션의 확장성 및 유연성이 증가한다.
Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 한다.
처리한 작업의 결과 데이터를 클라이언트에게 응답으로 돌려주어야 하는데, 이 때 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model이라고 한다.
View는 Model을 이용하여 웹 브라우저와 같은 애플리케이션의 화면에 보이는 리소스(Resource)를 제공하는 역할을 한다.
컨트롤러는 클라이언트 측의 요청을 직접적으로 전달받는 엔드포인드(Endpoint)로써 Model과 View의 중간에서 상호작용을 해주는 역할을 한다.
클라이언트 측의 요청을 전달받아 비즈니스 로직을 거친 후, Model 데이터가 만들어지면 이 Model 데이터를 View로 전달하는 역할을 한다.
Front Controller : 주로 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리하는 컨트롤러
과거에는 URL 매핑을 위해 모든 서블릿을 web.xml에 등록해 주어야 했지만 디스패처 서블릿의 등장으로 web.xml의 역할을 상당히 축소해 줌과 동시에 편리하게 이용할 수 있게 되었다.
Dispatcher Servlet에게 전달.Handler Mapping이 요청을 위임할 컨트롤러 탐색Handler Adapter를 찾아서 전달Handler Adapter가 컨트롤러로 요청을 위임Handler Adapter가 반환값을 처리ViewResolver가 화면을 찾아서 반환해준다)흠 다음에는 web.xml 통해 디스패쳐 서블릿 초기화 하는 법을 알아봐야겠다.