Representational State Transfer API
웹에서 사용되는 자원을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
자원 : 소프트웨어가 관리하는 모든 것
요청과 응답 : 자원(상태)을 JSON / XML 형식으로 보내는 것이 일반적
HTTP 메소드(POST, GET, PATCH, PUT, DELETE) 사용
HTTP 프로토콜 사용
➡️ 별도의 인프라 구축 필요 x
➡️ HTTP 프로토콜을 사용하는 모든 플랫폼에서 사용 가능
➡️ 메소드가 의미하는 바 명확함 : 의미파악 쉬움
서버와 클라이언트의 역할을 명확하게 분리
server-client 구조
stateless(무상태)
http 프로토콜이 stateless이므로 REST역시 무상태성을 가짐
캐시 처리
계층화
On-Demand
인터페이스 일관성