-정영한님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술'로 공부중입니다.

프로젝트에서 Spring을 활용한 웹 서버 구축을 맡았다. 강의를 들으면서 공부를 시작하게 되었고, 웹 관련 프로젝트를 하기 때문에 웹 기본 공부를 조금하고 시작하려고 한다. nodejs를 조금 공부하며 이미 했던 공부지만 Spring은 다를 수 있기 때문에 시작해보고자 했다.

웹페이지의 동작방식은 정적 동작 방식과 동적 동작 방식이 존재한다.
| 정적 동작 방식 | 동적 동작 방식 |
|---|---|
| 장점 | 장점 |
| 추가적인 가공이 필요 없으므로, 속도가 빠르고, 서버에 부담을 덜 준다. | 같은 페이지에서도 가공하여 다른 모습을 보여줄 수 있다. |
| 단점 | 단점 |
| 내용을 변경 할 때, 자체를 수정해야하므로, 번거롭다. | 페이지에 가공할 수 있다는 건 상대적으로 보안에 취약해지고, 검색엔진이 최적화되기 힘들다. |

웹 페이지를 구성할 때, 디자인 패턴이라는 것이 존재한다. 개발을 할 때, 특정한 일을 하는 소스코드를 모아두는 형식을 말한다. MVC, MVP, MVVM 등이 존재한다.
주로 사용하는 MVC에 대해 설명하자면, MVC는 각각 Model, View, Controller를 의미한다.
- Model - 어플리케이션에서 사용하는 데이터와 그 데이터를 처리하는 파트.
- View - 사용자가 보고있는 UI이다.
- Controller - 사용자의 입력을 받고 처리하는 파트.
동작하는 방식은
- 사용자가 원하는 것이 Controller에 들어간다.
- Controller에서 확인하고, Model을 처리한다.
- Controller는 View를 선택해 Model을 표시한다.
- View는 Model를 사용해 사용자에게 보여준다.
특징과 장단점으로는
API는 애플리케이션 프로그래밍 인터페이스로, 컴퓨터나 컴퓨터 프로그램 사이의 연결을 의미한다. 원래는 정해진 자료형같은 형태로 주어지는 것을 의미하는 것이 아니다. 하지만 웹에서 사용하는 보편적인 의미의 API는 REST API로, HTTPRequest를 사용하면, JSON이나 XML형식으로 데이터 묶음이 오게 되는 것을 의미한다.

참고