RESTful 이란

회사에서 진행하는 프로젝트에서 백엔드 서비스를 담당하게 됐다. 결론적으로 RESTful API 서버 서비스를 구축하는 일인데, 그 놈의 RESTful 이 도대체 뭔지 감이 안왔다. (어깨 넘어로 듣기는 엄청 들었지만, 정확히 무슨 뜻인지 몰랐다.)

먼저 REST 란 무엇인가?

RESTful API 를 알아보기 전에 REST 가 어떤 의미를 가지고 있는지 알아 볼 필요가 있다. 로이 필딩(Roy Fielding) 은 웹이 왜 이렇게 성공했는지, 왜 이 정도의 대규모 시스템이 성립된 것인지에 대해 소프트웨어 아키텍처의 관점에서 분석하고, 하나의 아키텍처 스타일로 정리했는데 이를 “REST(Representational State Transfer)” 이라 이름지었다. REST 는 네트워크 시스템의 아키텍처 스타일이다. 네트워크 시스템의 아키텍처라고 하면 클라이언트/서버 구조를 떠오르는데, REST 는 여기서 파생된 아키텍처 스타일이다. REST에서 가장 중요하며 기본적인 규칙은 아래 두 가지이다.

  • URI는 정보의 자원을 표현해야 한다.
  • 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)으로 표현한다.

만약에 한 마디로 REST를 정리하라고 한다면 HTTP URI + HTTP Method 이다. 즉, REST 란 URI로 대상 자원을 명시하고 Method로 해당 자원에 대한 행위를 정의한다. 자세한 내용은 위키백과(http://ko.wikipedia.org/wiki/REST) 와 블로그(http://spoqa.github.io/2012/02/27/rest-introduction.html) 를  참고하자.

결론적으로 RESTful 의 의미?

RESTful 이란 REST 의 제약에 따르고 있고, REST 다운 것을 말한다. 별거 없다.

Leave a comment