최근 수정 시각 : 2019-06-12 13:54:52

RESTful

REpresentational State Transfer 의 약자. 줄여서 REST라고도 한다.
2000년 Roy Fielding의 박사학위 논문에서 최초로 소개되었다.

HTTP를 기본으로 하여 서버에서 리소스에 대한 API를 제공하는 방법 중 하나이며, HTTP 통신으로 이루어지기때문에 웹 통신이 가능한 환경이라면 사용할 수 있는것이 장점이다.

서버의 리소스를 기준으로, HTTP Method를 통해 행위를 정의한다.

일반적인 웹 API 와 비교해보면 아래와 같다
회원정보 조회GET /member/getInfo?userid=fooGET /member/foo
회원정보 저장POST /member/saveMemberInfoPOST /member/foo
회원 삭제POST /member/removeMemberDELETE /member/foo

URI는 foo라는 회원을 지시하며, 실제적으로 처리할 동작은 HTTP method 로 표현한다.

위는 예시일 뿐이며, API에 대한 명확한 표준이 없기 때문에 제공하고자 하는 서비스(리소스)에 따라 적절한 방식으로 제공하게 된다.

리소스에 대해 인증 방법으로는 HTTP에서 기본적으로 사용되는 Cookie-Session 인증을 사용하거나, OAuth 방식이 널리 쓰인다.