API

김상선·2022년 5월 16일
0
post-custom-banner

API의 정의

  • API : Application Programming Interface
    정의(interface) 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘.

내가 이해하기로는, "개발자가 복잡한 기능을 쉽게 사용하고 제어할 수 있도록 만들어진, 특정 기능을 가진 프로그래밍 인터페이스다!"라고 이해했다.. 개발자(사용자) 입장에서는 서버 내부 코드가 어떻게 생겼는지 신경 쓰지 않아도, 쉽게 DB 데이터나 기능을 클라이언트로 가져다 쓸 수 있다. 대체로 서버 DB가 갖고있는 특정 데이터를 JSON형식으로 받아와 쉽게 제어하는 방식으로 만드는 것 같다.

예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있다. 휴대폰의 날씨 앱의 개발자는 기상청이 제공한 API를 통해 기상청 시스템과 "대화(Interface)"하고 휴대폰 날씨 앱에 최신 날씨 정보를 표시한다.


API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명된다. 요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 하면, 기상청의 날씨 데이터베이스는 서버이고 모바일 앱은 클라이언트이다. API 명세 문서에는 모바일 앱 개발자가 기상청이 제공한 날씨 API를 사용할 수 있도록 클라이언트의 요청과 서버의 응답을 구성하는 방법에 대한 정보가 들어 있다.

API는 사용법에 대한 문서를 공개하지 않으면 API를 사용할 수 없다. 공개된 OPEN API라도 사용하려면 API KEY가 필요하거나, 호출 횟수가 많아지면 비용을 지불해야할 수도 있다. 또한 API는 UI와 다르게 플랫폼 사용자(개발자x)의 눈에 직접적으로 보이지 않는다.
예시 : 네이버 공유하기 API 명세


API 사용범위에 따른 분류

프라이빗 API

  • 프라이빗 API는 기업 내부에 있으며 비즈니스 내에서 시스템과 데이터를 연결하는 데만 사용됩니다.

퍼블릭 API

  • 퍼블릭 API는 일반에 공개되며 누구나 사용할 수 있습니다. 이러한 유형의 API와 관련된 권한 부여와 비용이 있을 수도 있고 없을 수도 있습니다.

파트너 API

  • 이는 B2B 파트너십을 지원하기 위해 권한이 부여된 외부 개발자만 액세스할 수 있습니다.

복합 API

  • 복합 API는 두 개 이상의 서로 다른 API를 결합하여 복잡한 시스템 요구 사항이나 동작을 처리합니다.

참고자료 : https://aws.amazon.com/ko/what-is/api/
https://dev-dain.tistory.com/50

profile
일요일을 좋아합니다.
post-custom-banner

0개의 댓글