API(Aplication Programing Interface)
- 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중간계층
- Aplication : 응용
- Programing : 특정 작업을 수행하는 명령어의 조합
- Interface : 컴퓨터와 컴퓨터 사이 소통을 위해 만들어진 물리적 매개체나 프로토콜
- HTTP,HTTPS 프로토콜, 메서드, 데이터 타입으로 정의된 중간계층
Interface
- 서로 다른 두개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면
- 예시로 User Interface를 통해 컴퓨터와 사람을 연결
API 작동방식
- 사용자가 브라우저를 통해서 서버에 요청을 하게되면 API가 중계계층역할을 하며 요청을 처리한다.
![](https://www.altexsoft.com/media/2019/06/1.png)
API의 장점
- 서버 제공자는 서비스의 중요한 부분을 드러내지 않아도 된다. 드러내고 싶은 부분만을 드러낼 수 있다.
- 사용자는 서비스의 알고리즘을 알 필요없이 필요한 정보만 가져올 수 있다.
- OPEN API를 통해 앱 개발 프로세를 단순화 한다.
- 내부 프로세스가 수정 되었을 때 API를 매번 수정하는 것이 아니라 API가 수정이 안되게 할 수 있다. 수정 후 필요한 내용만 API로 내보낸다.
- 제공자는 데이터를 API를 통해 한곳에 모을 수 있다.
API의 종류
- private : 내부적 사용, 주로 해시키를 하드코딩해놓고 서버와 서버간 통신한다.
- public : 모든 사람이 사용가능, 많은 트래픽을 방지하기 위해 요청수를 제한함.