REST(Representational State Transfer)
웹(http)의 장점을 최대한 활용할 수 있는 아키텍처.
웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식.
- HTTP 프로토콜을 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서는 알아보기 쉽고 잘 작성된 메뉴판이 필요
REST API를 작성할 때는 지켜야 할 규칙들이 있다 => 4단계 성숙도 모델(0~3단계)
- 하지만 엄밀하게 3단계까지 지키는건 어렵기 때문에 2단계까지만 적용해도 좋은 API 디자인이라고 볼 수 있다. => HTTP API
누구에게나 열려있는 API.
무제한으로 이용? x => API마다 정해진 이용 수칙이 있고, 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있음.
날씨 제공 API
API를 이용하기 위해서는 API Key가 필요.(API key는 서버의 문을 여는 열쇠)
서버를 운용하는 데에 비용이 발생 => 서버 입장에서 아무런 조건 없이 익명의 클라이언트에게 데이터를 제공할 의무 x.(API key가 필요하지 않은 경우도 있음.)
- API Key가 필요한 경우
이용자에게 자원에 접근할 수 있는 권한을 API Key의 형태로 제공
데이터를 요청할 때 API key를 같이 전달 => 원하는 응답
이번 개념의 경우 쉬웠던거 같지만 내일 하는 실습을 해봐야 제대로 알거같다.