서버를 공부하며 헷갈렸지만 그게 그거지 하며 넘어갔던 개념인 RESTful API에 대해서 자세히 알아보는 시간을 가져보겠습니다 :)
서버에서 가장 중요하지만 항상 놓쳤던 개념이 바로 RESTful API 였는데,
이번 새로운 프로젝트를 진행하며 제대로 짚고 넘어가면 좋겠다는 생각이 들어서 공부 정리 겸사 겸사 블로그에 글을 올리게 되었습니다.
REST
는 REpresentational State Transfer의 약자입니다.
시간이 흐르며 등장한 다양한 클라이언트나 어플리케이션이 분리되거나 통합되는 여러한 이유에서 발생하는 복잡도를 줄이고자 REST 라는 방법론을 제시하게 됐습니다.
위키백과에서는 REST를 아래와 같이 설명하고 있습니다.
"a way of providing interoperability between computer systems on the internet"
"인터넷 상에서 컴퓨터 시스템간의 상호운용성을 제공하는 방식 중 하나"
따라서 RESTful API는 REST한 컨벤션들을 지키며 API를 제공하는 것이라고 할 수 있습니다.
정리하면 협업 간의 Coding Convention을 정하는 것처럼 API를 제공하는 것도 하나의 가이드를 지키며 설계하자고 약속하는 것입니다.
그 유명한 RESTful API의 URI 설계 원칙은 아래와 같습니다.
아래 이미지를 보면 리소스를 중심으로 HTTP 메서드(GET, POST, PUT, PATCH, DELTE)를 사용해 디자인하고 있습니다.
이번 프로젝트에서 제대로 RESTful한 API를 작성해서 얇팍한 서버 지식을 더욱더 키워야겠다..는 생각..