
Rest API는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처이다.
좀더 간단하게 말하자면 서버의 api가 적절하게 http를 준수하며 잘 설계되었다면 RESTful하게 설계되어 있다고 생각하면 된다.
고유 리소스 식별자
서버는 고유한 리소스 식별자로 각 리소스를 식별한다. REST 서비스의 경우 서버는 일반적으로 URL을 사용하여 리소스 식별을 수행한다. URL은 리소스에 대한 경로를 지정한다. URL은 웹페이지를 방문하기 위해 브라우저에 입력하는 웹 사이트 주소와 유사하다. URL은 요청 엔드포인트라고도 하며 클라이언트가 요구하는 사항을 서버에 명확하게 지정한다.
메서드
HTTP 베서드는 리소스에 수행해야 하는 작업을 서버에 알려준다.
GET
클라이언트는 GET을 사용하여 서버의 지정된 URL에 있는 리소스에 엑세스한다. GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있다.
POST
클라이언트는 POST를 사용하여 서버에 데이터를 전송한다. 여기에는 요청과 함께 데이터 표현이 포함된다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있다.
PUT
클라이언트는 PUT을 사용하여 서버의 기존 리소스를 업데이트한다. POST와 달리 RESTful 웹 서비스에서 동일한 PUT요청을 여러 번 전송해도 결과는 동일하다.
예를들어 API의 리소스 식별자를 중복 없이 고유하게 잘 만들고 해당 API에 적절하게 HTTP 메서드를 사용했다면 RESTful 하게 설계했다고 볼 수 있다.