웹 애플리케이션에서는 HTTP 메서드를 이용해 서버와 통신한다. GET을 통해 웹 페이지나 데이터를 요청하고, POST로 새로운 글이나 데이터를 전송하거나 DELETE로 저장된 글이나 데이터를 삭제할 수 있다. 이처럼 클라이언트와 서버가 HTTP 통신을 할 때는 어떤 요청을 보내고 받느냐에 따라 메서드의 사용이 달라진다.
이런 사용은 아무런 규칙 없이 이루어지는 것이 아니다. 요청과 응답을 할 때, 일종의 규약이 존재한다.
REST API에서 REST는 "Representational State Transfer"의 약자로, 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개되었다. REST API는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다.
REST API를 작성할 떄는 몇 가지 지켜야 할 큐칙들이 있따. 로이 필딩이 논문으로 제시한 REST 방법론을 보다 더 실용적으로 적용하기 위해 레오나르도 리차드슨은 REST API를 잘 적용하기 위한 4단계 모델을 만들었다.
리차드슨의 REST 성숙도 모델을 구조화하면 다음과 같다.

정부에서 제공하는 공공데이터가 있다. 공공데이터에 쉽게 접근할 수 있도록 정부는 Open API의 형태로 공공데이터를 제공하고 있다.
이 APIDPSMS 'Open"이라는 키워드가 붙어 있다. 누구에게나 열려있는 API로 기관이나 API마다 정해진 이용 수칙이 있고, 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있다.
API를 이용하기 위해서는 API Key가 필요하다. API Key는 서버의 문을 여는 열쇠라고 생각할 수 있다. 클라이언트의 요청에 따라 서버에서 응답한다는 말은 결국 서버를 운용하는 데에 비용이 발생한다는 뜻이다. 따라서, 서버 입장에서 아무런 조건 없이 익명의 클라이언트에게 데이터를 제공할 의무도, 이유도 없다.
그래서 로그인된 이용자에게만 자원에 접근할 수 있는 권한을 API Key의 형태로 제공하고, 데이터를 요청할 때 API Key를 같이 전달해야만 원하는 응답을 받을 수 있다.