Rest, Restful

jaeyong Lee·2024년 5월 11일

Backend Development

목록 보기
5/7
post-thumbnail

20250115 수정)

REST?

클라이언트가 서버와 어떻게 데이터를 주고 받는지에 대한 좋은 가이드 라인이 REST

REST는 효율적이고 안정적으로 확장 가능한 분산 시스템을 만들기 위해 설계된 소프트웨어 아키텍처 스타일이다. REST의 원칙을 따르면, 그 시스템은 'RESTful하다'고 말할 수 있다.

Restful Spring에 적용

Spring MVC에 REST 방식을 적용하려면, HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용해 자원 요청을 처리하면 됩니다. 이를 통해 RESTful 웹 서비스를 구현할 수 있다.

REST + ajax

처음에는 비동기 방식이 REST라고 생각했다.
하지만 지금은 Ajax가 비동기 통신 방식이며, 이것이 일반 Controller와 RestController 두 가지 방식 모두에 적용될 수 있다는 것을 이해했다.

REST를 따르려면?

  1. 자원의 식별(고유한 url)
  2. 자원의 표현
    데이터를 주고받는 방식은 json, xml와 같이 표준화 되어 자원의 상태를 이해할 수 있어야함.
  3. 자기 기술적 메시지
    어떻게 처리되는지 정보 표현 get post put delete
  4. 무상태 통신
    각각의 요청에 따라 독립적이다.
    전 요청을 기억하지 않고 저장할게 있으면 db에 저장한다.

회고

내가 전에 프로젝트 했던 모놀리틱 서버에서는 JSP나 Thymeleaf 같은 클라이언트 도구들이 데이터와 세션을 한 서버에서 통합 관리하는 데 최적화된 방식이었다.
하지만 지금은 분산 서버를 사용하는 환경으로 전환되면서, 이런 구조는 효율적이지 않게 되었고, 대신 데이터를 서버 간에 쉽게 공유할 수 있는 REST가 기본으로 자리 잡았다.
프론트엔드에서도 React나 Vue.js 같은 도구들이 떠오르며 현재 많이 사용되고 있다.

결국 이런 변화는 분산 서버를 통해 대규모 데이터를 더 효율적으로 처리하기 위한 필요성에서 비롯된 것이라 사료된다.

0개의 댓글