-
API(Application Programming Interface)
- 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미
- 프로토콜, 메서드, 데이터타입 등이 정의된 중계 계층
인터페이스(intergace)
- 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호는 주고받는 경우의 접점이나 경계면
- 해당 컴퓨터의 내부서버가 어떻게 구현되어 있는지 상관없이 인터페이스를 통해 통신 등이 가능
API의 작동방식
- API는 다음과 같이 중계계층으로 끼어져있어서 작동
- 사용자가 브라우저를 통해서 서버에 요청을 하게 되면 API가 중계계층역할을 하며 요청을 처리
- 직접 서버의 데이터베이스에 접근 하는 것을 방지하기도 함
API의 장점
- 제공자는 서비스의 중요한 부분을 드러내지 않아도 됨
- 사용자는 해당 서비스가 어떻게 구현되는지 알 필요 없이 필요한 정보만을 받을 수 있음
- OPEN API의 경우 앱 개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있음
- 내부 프로세스가 수정되었을 때 API를 매번 수정하는 것이 아닌 API가 수정이 안되게 만들 수 있음
이를 통해 내부 DB, 서버의 로직이 변경이 되어도 매번 사용자가 앱을 업데이트하는 일은 줄어들 수 있음 - 제공자는 데이터를 한곳에 모을 수 있음
API의 종류
- private : 내부적으로 사용.
주로 해시키를 하드코딩해놓고 이를 기반으로 서버와 서버 간의 통신
이는 비즈니스 파트너와도 사용될 수 있음 -> 비밀스럽게 해당 파트너와 해시키를 공유하여 통신 - public : 모든 사람이 사용할 수 있음
많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리