RESTful API(Representational State Transfer)
웹 서비스를 설계하고 상호 작용하는 방법을 정의하는 일련의 아키텍처 원칙 및 제약 조건입니다.
World Wide Web 및 HTTP 프로토콜의 원칙을 활용하여 클라이언트(예: 웹 브라우저, 모바일 앱)와 서버 간의 통신을 가능하게 하고 일반적으로 표준화되고 효율적인 방식으로 데이터를 교환합니다.
RESTful API의 주요 구성 요소
리소스
사용자, 제품 또는 주문과 같이 API가 처리하는 고유한 엔터티 또는 데이터 개체입니다.
각 리소스는 일반적으로 엔드포인트라고 하는 고유한 URI(Uniform Resource Identifier)로 식별됩니다.
HTTP 메서드
RESTful API는 표준 HTTP 메서드를 활용하여 다음을 포함하여 리소스에 대한 작업을 수행합니다.
- GET: 리소스 또는 리소스 목록을 검색합니다.
- POST: 새 리소스를 만듭니다.
- PUT: 기존 리소스를 업데이트합니다.
- DELETE: 리소스를 제거합니다.
무상태
각 API 요청에는 서버가 요청을 이해하고 처리하는 데 필요한 모든 정보가 포함되어야 합니다.
서버는 요청 사이에 클라이언트 상태에 대한 정보를 저장해서는 안 됩니다.
캐시 처리 가능
서버의 응답을 클라이언트가 캐시하여 성능을 개선하고 서버 부하를 줄일 수 있습니다.
HTTP 응답의 캐시 제어 헤더는 캐시 동작을 정의합니다.
계층화된 시스템
RESTful API는 각각 특정 기능을 담당하는 여러 계층으로 설계될 수 있습니다.
이것은 관심사의 분리를 촉진하고 시스템을 보다 모듈화하고 유지 관리할 수 있게 만듭니다.
유연한 데이터 포멧
RESTful API는 JSON 또는 XML과 같은 여러 데이터 형식을 지원하며 클라이언트는 HTTP 요청의 Accept 헤더를 통해 선호하는 형식을 지정할 수 있습니다.
RESTful API는 단순성, 확장성 및 사용 용이성으로 인해 웹 서비스 디자인에서 인기 있는 선택이 되었습니다.
이들은 분산 시스템의 개발을 용이하게 하며 특히 최신 웹 및 모바일 애플리케이션에 적합합니다.