
“Representational State Transfer” 약자로 웹에서 사용되는 데이터나 자원을 HTTP URL로 표현하고 요청 응답을 정의하는 방식
--> 클라이언트와 서버 사이에 요청과 응답을 잘 주고 받기 위한 약속(?)

총 4단계로 나눠진다. 하지만 3단계까지 지키기 어렵기 때문에 2단계까지만 적용해도 HTTP API라고 부른다.
단순히 HTTP 프로토콜만 사용해도 된다. 하지만 REST API라곤 할 수 없다.
1단계에서는 개별 리소스와의 통신을 준수해야 한다.
모든 자원은 개별 리소스에 맞는 엔드포인트(Endpoint)를 사용해야하며 요청하고 받는 자원에 대한 정보를 응답으로 전달해야 한다는 것이 1단계의 핵심이다.
어떤 리소스를 변화시키는지 혹은 어떤 응답이 제공되는지에 따라 각기 다른 엔드포인트를 사용한다. 따라서 적절한 엔드포인트를 작성해야 한다.
CRUD : CREATE, READ, UPDATE, DELETE
CRUD에 맞게 적절한 HTTP 메소드를 사용한다.
GET, POST, PUT, DELETE 등 역할에 맞게 사용해야 한다.
HATEOAS(Hypermedia As The Engine Of Application State) -> 하이퍼미디어 컨트롤을 적용한다.
3단계는 2단계와 동일하지만 응답에 리소스의 URI를 포함한 링크를 삽입해야 한다. 응답 내에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 하는 것이 3단계의 핵심 포인트이다.
공공데이터로 누구에게나 열려있는 API이다. 하지만 무제한으로 이용할 수는 없다. API마다 정해진 이용 수칙이 있어 이용 수칙에 따라 제한사항이 있을 수 있다.
API Key : API에 접근하기 위해 권한을 부여받는데 그때 사용하는 key.
깔끔히 정리해주셔서 보기 편한 것 같습니다 ㅎㅎb