REST API (Representational State Transfer)
REST는 웹 기반 시스템 간의 통신을 위한 아키텍처 스타일 중 하나이다.
REST API(RESTful API)는 이러한 REST 아키텍처를 따르는 웹 서비스의 API를 말한다서버의 자원을 정의하고, 자원에 대한 주소를 지정하는 방법을 가리킨다
구성 요소
자원: URI
리소스를 가진 대상의 식별자 즉, 어떤 서버에 요청을 할 것인지를 말하는데, REST API에서는 URL을 통해 리소스 식별자를 전달
행위: HTTP Method
- GET : 자원을 조회하고 정보를 얻기 위해 사용한다. 요청의 본문(body)에 데이터를 넣지 않고 데이터를 서버로 보내야 한다면 querystring을 사용한다.
- POST : 새로운 자원을 생성하기 위해 사용한다. 요청의 본문에 새로 등록할 데이터를 넣어서 보낸다.
- PUT : 기존 자원을 업데이트하거나, 새로운 자원을 생성하기 위해 사용한다. 요청의 본문(body)에 수정할 데이터를 넣어 보낸다.
- DELETE : 자원을 삭제하기 위해 사용한다.
표현
- Client가 자원의 상태(정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답(Representation)을 보낸다.
- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타내어 질 수 있다.
- JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다.
사용하는 이유
HTTP 프로토콜을 사용하면 클라이언트가 누구든 상관없이 사용할 수 있다. 즉, 서버와 클라이언트가 분리되어있어 있다면 이후에 서버를 확장하거나 유지보수 측면에서 많은 부분 자유로워질 수 있다.