# 웹 서비스와 MVC 패턴
MVC. 웹 서비스를 구현의 가장 기본적인 패턴!
## 목차
---
1. 웹서비스의 동작원리
2. MVC 패턴이란?
3. MVC 패턴의 장점
## 1. 웹서비스의 동작원리
---
웹서비스는 **클라이언트**(client)와 **서버**(server)간의 **요청**(request)과 **응답**(response)의 메커니즘으로 동작한다. 컴퓨터 네트워크에서 서버란 서비스를 제공하는 컴퓨터를 의미하며, 클라이언트는 서비스를 사용하는 컴퓨터를 말한다.
![Imgur](https://i.imgur.com/6Wkizu5.png)
예를 들어, 브라우저의 주소창에 `http://google.com`을 적고 엔터를 치면 이것이 요청이 되어 서버로 전송된다. 서버는 요청에 대한 응답으로 구글검색창을 브라우저에게 전송한다. 결과적으로 브라우저에는 구글 검색창이 나타나게 된다.
![Imgur](https://i.imgur.com/IDezrZs.png)
## 2. MVC 패턴이란?
---
스프링을 사용한 웹 서비스는 MVC 패턴으로 만들어진다. 따라서 이에 대한 이해가 필요하다.
MVC(Model-View-Controller) 패턴은 역할 분담 패턴이다. 모델(`Model`)은 데이터 담당, 뷰(`View`)는 화면 담당, 컨트롤러(`Controller`)는 모델과 뷰 사이의 중재자 역할을 한다. 마치 음식점에 웨이터, 요리사, 매니저가 역할 분담을 하는 것과 같다.
![Imgur](https://i.imgur.com/V7CGG0Y.png)
## 3. MVC 패턴의 장점
---
MVC 패턴을 통해 각의 모듈은 역할이 명확해진다. 이로 인해 코드의 유지 보수가 쉬워지고, 개발자-퍼블리셔(또는 디자이너)간 협업이 원할해진다.