REST

내위키
Dennis (토론 | 기여)님의 2020년 1월 17일 (금) 03:49 판

Representational state transfer.

인터넷을 통한 웹 API를 위한 표준 가운데 하나. 사실상 웹 API의 표준으로 받아들이고 있으며, REST를 쉽게 구현하기 위한 클라이언트 및 서버 측의 갖가지 구현체들이 나와 있고, 온갖 웹 프레임워크와 앱들도 REST API를 지원하기 때문에 편리하게 웹을 통해 정보를 주고받을 수 있다. REST를 잘 지원하는 웹 서버를 'RESTful'하다고 부른다. REST를 통해서 컴퓨터에서 데이터를 처리하는 기본 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제), 즉 CRUD 작업을 URI 기반으로 처리할 수 있다.

2000년에 로이 필딩이 UC어바인대학교 박사학위 논문을 통해서 제안한 개념이다. 뭐야? 박사학위 논문에 나온 게 표준? 하고 치부할 수도 있을 텐데 로이 필딩은 월드와이드웹의 뼈대인 HTTP 프로토콜 작성에 참여한 주요 인물 중 하나다.

Representational state transfer는 '표현적인 상태 전송'이라는 뜻으로 풀이할 수 있다.

가장 큰 장점은 뭐니 뭐니 해도 범용성. 웹의 표준 프로토콜을 그대로 사용하기 때문에 바이너리 업로드가 필요한 작업 정도를 제외하고는 모든 작업을 URL만으로도 해결할 수 있으므로 웹 브라우저는 물론 인터넷 접속이 가능한 어떤 애플리케이션에서도 REST를 사용할 수 있다.

또한 기본적으로는 세션이나 쿠키를 사용하지 않는다. 즉, 상태를 관리하지 않는다. URL을 통해서 요청이 들어오면 서버는 그에 대한 응답을 하고 끝난다. 다만 인증이 필요한 경우에는 REST와는 별개로 세션이나 쿠키를 사용한다.