Representational State Transfer
- 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것
- HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미
구성 요소
- 자원(Resource) : HTTP URI
- 자원에 대한 행위(Verb) : HTTP Method
- 자원에 대한 행위의 내용(Representations) : HTTP Message Pay Load
특징
- Stateless, 무상태성 : 각 요청이 독립적으로 처리되고 서버는 클라이언트의 상태 정보를 저장하지 않음
- Uniform Interface, 일관된 인터페이스 : URI를 통해 자원 식별, 표준 HTTP 메소드를 사용하여 자원에 대한 행위 정의
- Cacheable, 캐시 가능 : 네트워크 효율성 높일 수 있음
- Client-Server, 클라이언트-서버 : 클라이언트와 서버가 서로 독립적으로 발전할 수 있도록 설계
- Layered System, 계층화
Representational State Transer API
- 웹 서비스에서 클라이언트와 서버 간의 통신을 위해 사용되는 아키텍처 스타일
- 자원 중심 설계
- GET, POST, PUT, DELETE 등을 사용해 데이터 교환
RESTFul
- REST의 원리를 따르는 시스템
- REST API의 설계 규칙을 올바르게 지킨 시스템
