REST란?
REST는 Representational State Transfer의 약자로 웹 네트워크 상에서 자원을 정의하고 상태를 전달하는 데에 중점을 둔 소프트웨어 아키텍처
REST 특징
Resources
- REST에서 모든 것은 자원으로 표현, 각 자원은 고유한 식별자(Uniform Resource Identifier, URI)를 갖음
HTTP Method
- 자원에 대한 액션을 정의하기 위해 HTTP 메서드 사용
- 주로 사용되는 HTTP 메서드
- GET : 리소스 조회
- POST : 새로운 리소스를 생성
- PUT : 리소스를 업데이트하거나 새로운 리소스를 생성
- DELETE : 리소스 삭제
URI
- 각 자원에는 고유 식별자를 갖고 있음으로, 이 식별자를 통해 자원에 접근할 수 있음
Represntation
- 주로 JSON 또는 XML 형식으로 클라이언트에 응답으로 전달되는 데이터를 의미
Stateless
- 각 요청은 독립적이며 이전 요청과 상태에 대한 의존성이 없어야 함
자기 서술적 메시지
- 각 메시지는 어떻게 처리되어야 하는지 충분한 정보를 포함해야 함
HATEOAS
- Hypermedia As The Engine Of Application State
- 클라이언트가 서버로부터 받은 응답을 통해 서버의 상태를 이해하고 애플리케이션을 탐색할 수 있어야함
계층화
대략적인 REST 작동 순서
- URI를 통해 자원을 명시
- HTTP METHOD를 통해 해당 자원에 대한 operation을 진행