팀 프로젝트에 참여해 영상 플랫폼을 만들어보기로 했다.
영상 데이터를 가지고 오기 위해 API를 활용해보았는데, 아직 완벽하게 이해를 하지 못했지만 잊어버리지 않기위해 조금이나마 정리를 해본다.
- API란 Application Programming Interface를 의미.
'어플리케이션'이라 칭하지만 '어플'이라기보다 두 소프트웨어가 서로 데이터 통신을 할 수 있도록 돕는 메커니즘.- 개발자는 API를 통해 웹에 보여지고 저장되어 있는 데이터를 전달 받거나 올릴 수 있음. 출처
API에도 다양한 종류/타입이 존재했다!
생성된 시기에 따라 API가 4가지 중 하나에 부합한다고 하는데,
'생성 시기'라는 포인트를 이해하지 못했다. 그럼에도 정리를 해본다면 아래와 같다.
API 유형
1. SOAP: 과거에 사용한 단순 객체 접근 프로토콜. XML로 메시지 교환
2. RPC: 원격 프로시져 호출, 서버에서 프로시저가 완료되면 출력 값을 클라이언트로 보내는 형식
3. Websocket: JSON 객체로 데이터를 전달하는 방식 - 콜백 메시지가 있어 양방향 통신 지원
4. REST: 가장 많이 사용되는 API!
이 중에서 REST API에 대해 정리를 해보겠다.
영상 플랫폼을 구축하는 만큼, 유튜브 데이터를 사용하기 위해 Youtube Data API V3를 찾았다.
이 API는 REST API 타입이라 알게됐는데, 많이 사용해서 해당 API로 구성이 된건지 궁금했다.
중요한 건, REST API는 Representational State Transfer을 의미하며 데이터를 이름으로 구분하여 데이터의 상태를 전달 받을 수 있는 점이었다.
HTTP를 통해 데이터를 명시하고, HTTP Method를 통해 데이터를 어떻게 하고 싶은지 CRUD를 적용하는 것을 의미한다고 한다.