웹 애플리케이션에서는 **HTTP 메소드
**를 이용해 서버와 통신합니다.
⇒ 이처럼 클라이언트와 서버가 HTTP 통신을 할 때는 어떤 요청을 보내고 받느냐에 따라 메소드의 사용이 달라집니다.
⇒ 요청과 응답을 할 때, '제대로 보내고 받을 수 있는' 일종의 규약이 존재합니다.
REST API란?
REST
는 “Representational State Transfer
”의 약자로, 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개클라이언트와 서버 사이에도 데이터와 리소스를 요청하고 요청에 따른 응답을 전달하기 위한 메뉴판이 필요합니다. 이 메뉴판을 보고 클라이언트는 식당에서 식사를 주문하듯 서버에 요청하고, 이에 대한 응답을 메뉴판에 있는 사진이나 음식에 대한 설명처럼 다시 서버에서 클라이언트로 전송하게 됩니다.
따라서 HTTP 프로토콜 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서는 알아보기 쉽고 잘 작성된 메뉴판이 필요한데, 이 역할을 API
가 수행해야 하므로 서로 잘 알아볼 수 있도록 작성하는 것이 중요합니다.
REST API를 작성할 때는 몇 가지 지켜야 할 규칙들이 있습니다. 로이 필딩이 논문에서 제시한 REST 방법론을 보다 더 실용적으로 적용하기 위해 레오나르드 리차드슨은 REST API를 잘 적용하기 위한 4단계 모델
을 만들었습니다.
리차드슨의 REST 성숙도 모델을 구조화하면 다음과 같습니다.