REST API (Representational State Transfer API)
- 웹서비스를 개발할 때 사용되는 아키텍처의 일종
REST API 구성
- 자원 (REsource) : URL
- 모든 자원에 고유한 ID가 존재하고 이자원은 서버에 존재한다.
- 행위 (Verb) : Http method
- Http 프로토콜의 method 사용
- Http 프로토콜의 메소드 제공
- GET : GET을 통해 해당 리소스 조회
- POST : POST를 통해 해당 URL 요청하면 리소스 생성
- PUT : PUT을 통해 해당 리소스 수정
- DELETE : DELETE를 통해 해당 리소스 삭제
- 표현 (Representations)
- 클라이언트가 자원의 상태에 대한 조작을 요청하면 서버는 이에 적절한 응답을 보낸다.
- 일반적으로 JSON 혹은 XML 통해 데이터를 주고 받는다.
REST API 특징
1. 유니폼 인터페이스
- Http를 사용하여 통신하기 때문에 네트워크 프로토콜의 기본메서드만 사용
- 단일 URL을 통해 고유하게 식별 가능해야 한다.
2. 클라이언트 / 서버구조
- 클라이언트와 서버는 분리되어야 한다.
- 클라이언트와 서버엣 개발해야 할 내용이 명확해지고 서로간의 의존성이 줄어든다.
3. 무상태성
- 작업을 위한 상태정보를 따로 저장하고 관리하지 않는다.
- 들어오는 요청만 단순히 처리함으로 서비스의 자유도 높아지고 구현이 단순해진다.
4. 캐시 처리 기능
- HTTP라는 기존 웹표준 그대로 사용하기 때문에 HTTP가 가진 캐싱 기능 적용 가능
5. 계층형 구조
- REST 서버는 다중계층으로 구성될 수 있다.
6. 자체 표현 구조조
- REST API 메세지만 보고도 쉽게 이해할 수 있는 구조로 표현되어 있다.