Post

CS - API에 대하여 알아보자.

CS - API에 대하여 알아보자.

개발자라면 누구나 사용중인 API에 대해서 알아보자.

API란?

API는 Application Programming Interface의 약자로, 서로 다른 시스템 또는 애플리케이션이 통신하는 방법이자 시스템 사이의 중계 계층을 의미한다.

API라는 용어는 라이브러리 및 프레임워크를 설명하는 명세서라는 의미로써 사용되기도 한다.

API에 정의되어 있는 대표적인 요소로는 아래와 같다.

  • 프로토콜
  • HTTP 메서드
  • 데이터 교환 형식 등

API의 장점

API를 사용해서 얻을 수 있는 장점들로는 아래와 같다.

  • 서비스 제공자는 해당 서비스의 중요 부분을 노출하지 않아도 된다.
  • 사용자는 해당 서비스의 내부 구현 정보를 알 필요 없이 필요한 정보만을 사용할 수 있다.
  • 내부 프로세스가 수정된다고 하더라도 API를 수정하지 않아도 된다.

API의 종류

  • private: 내부적으로 사용된다.
    • 주로 해시키(비밀키)를 하드코딩 하여 내부 서버간에 통신을 할 때 사용한다.
  • public: 모든 사용자가 사용할 수 있다.
    • 모든 사용자가 사용할 수 있기 때문에, 과도한 트래픽이 몰리지 않도록 요청 수에 제한을 둬 관리한다.

API URL에 버전 정보가 들어가는 이유

예시로 Open API를 개발했다고 가정해보자.

Open API로 사용자의 목록을 조회하는 /api/v1/list 라는 API가 있다고 가정하고, 해당 API의 response를 수정해보자.

만약 버전 정보 없이 기존 API를 바로 업데이트를 해버린다면 기존 API를 사용하던 서비스들에 문제가 발생할 것이다.

이러한 이유로 API URL에 버전을 명시하는 것이다.

This post is licensed under CC BY 4.0 by the author.