[스프링부트] RESTFul Api

송송승현's avatar
Nov 11, 2024
[스프링부트] RESTFul Api

정의

💡
Representational State Transfer (REST) 원칙을 따르는 API(Application Programming Interface)
REST는 웹 서비스를 설계하는 데 사용되는 아키텍처 스타일이며, 간단하고 확장 가능하며 무상태(stateless)로 설계된 시스템을 구축하는 데 도움

REST의 기본 원칙

클라이언트-서버 구조

  • 클라이언트와 서버는 서로 독립적이며, 클라이언트는 사용자 인터페이스와 관련된 작업을 처리, 서버는 데이터 저장 및 비즈니스 로직을 처리

자원의 명확한 실별

  • 모든 자원은 URI를 통해 고유하게 식별

무상태

  • 각 요청은 독립적이며, 이전 요청의 상태에 의존하지 않음, 요청간 상태 정보를 서버가 유지하지 않으며, 클라이언트는 모든 요청에 필요한 모든 정보를 포함

캐시 기능

  • HTTP 응답은 캐시될 수 있음, 이를 통해 네트워크 트래픽을 줄이고 응답 시간을 단축시켜 성능 향상 가능

개층화 시스템

  • 여러 계층으로 구성될 수 있고, 클라이언트는 중간 계층 서버를 통해 간접적으로 서버와 상호작용

인터페이스의 일관성

  • URI, HTTP 메서드, 상태 코드 등 표준화된 인터페이스를 사용하여 클라이언트와 서버 간의 상호작용을 명확하고 일관되게 유지
 
Share article

송승현의 블로그