본문 바로가기

공부 기록/영상 후기

제대로 이해하는 API | 개발자필수지식

https://youtu.be/9MEnZKjw9H4?si=3-xTaeua2Sk15wVy

API(Applicatoin Programming Interface)

- 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층

- 예) 프로토콜, 메서드, 데이터타입 등이 정의된 중계 계층

 

Interface

- 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면. 이를 통해 해당 컴퓨터의 내부 서버가 어떻게 구현되어 있는지는 상관 없이 인터페이스를 통해 통신 등이 가능

 

API의 장점

1. 제공자는 서비스의 중요한 부분을 드러내지 않아도 된다. 예를 들어 DB 설계 구조나 드러내고 싶지 않은 DB의 테이블 정보, 서버의 상수값 등을 드러내지 않고, 드러내고 싶은 부분만 드러낼 수 있다.

2. 사용자는 해당 서비스가 어떻게 구현되는지 알 필요 없이 필요한 정보만을 받을 수 있다.

3. Open API(Public API)의 경우 앱 개발 프로세스를 단순화시키고 시간과 비용을 절약할 수 있다.

4. 내부 프로세스가 수정되었을 때 API를 매번 수정하는 것이 아닌 API가 수정이 안 되게 만들 수 있다. 이를 통해 내부 DB, 서버의 로직이 변경되어도 매번 사용자가 앱을 업데이트하는 일이 줄어들 수 있다.

5. 제공자는 데이터를 한 곳에 모을 수 있다. 예를 들어 특정 사이트의 방문자 또는 이벤트를 집계하고 싶을 때 관련 API를 만들고, 이벤트가 발생할 때 그 API를 호출하게 만들면 해당 데이터를 한 곳에 모을 수 있다.

 

API의 종류

- private : 내부적으로 사용. 주로 해시키를 하드 코딩해놓고 이를 기반으로 서버와 서버 간 통신. 이는 비즈니스 파트너와도 사용될 수 있다. 비밀스럽게 해당 파트너와 해시키를 공유해 통신한다.

- public : 모든 사람이 사용 가능. 많은 트래픽을 방지하기 위해 하루 요청 수의 제한, 계정 당 몇 개 등으로 관리