
20250115 수정)
클라이언트가 서버와 어떻게 데이터를 주고 받는지에 대한 좋은 가이드 라인이 REST
REST는 효율적이고 안정적으로 확장 가능한 분산 시스템을 만들기 위해 설계된 소프트웨어 아키텍처 스타일이다. REST의 원칙을 따르면, 그 시스템은 'RESTful하다'고 말할 수 있다.
Spring MVC에 REST 방식을 적용하려면, HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용해 자원 요청을 처리하면 됩니다. 이를 통해 RESTful 웹 서비스를 구현할 수 있다.
처음에는 비동기 방식이 REST라고 생각했다.
하지만 지금은 Ajax가 비동기 통신 방식이며, 이것이 일반 Controller와 RestController 두 가지 방식 모두에 적용될 수 있다는 것을 이해했다.
- 자원의 식별(고유한 url)
- 자원의 표현
데이터를 주고받는 방식은 json, xml와 같이 표준화 되어 자원의 상태를 이해할 수 있어야함.- 자기 기술적 메시지
어떻게 처리되는지 정보 표현 get post put delete- 무상태 통신
각각의 요청에 따라 독립적이다.
전 요청을 기억하지 않고 저장할게 있으면 db에 저장한다.
내가 전에 프로젝트 했던 모놀리틱 서버에서는 JSP나 Thymeleaf 같은 클라이언트 도구들이 데이터와 세션을 한 서버에서 통합 관리하는 데 최적화된 방식이었다.
하지만 지금은 분산 서버를 사용하는 환경으로 전환되면서, 이런 구조는 효율적이지 않게 되었고, 대신 데이터를 서버 간에 쉽게 공유할 수 있는 REST가 기본으로 자리 잡았다.
프론트엔드에서도 React나 Vue.js 같은 도구들이 떠오르며 현재 많이 사용되고 있다.
결국 이런 변화는 분산 서버를 통해 대규모 데이터를 더 효율적으로 처리하기 위한 필요성에서 비롯된 것이라 사료된다.