API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말
정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
서로 다른 기기가 데이터를 주고 받을 수 있는 방법을 API라고 생각해도 된다.
SOAP API
단순 객체 접근 프로토콜을 사용하는 API
클라이언트와 서버가 XML을 사용하여 메세지를 교환
과거에는 많이 사용되었으나 현재에는 잘 사용하지 않음.
RPC API
원격 프로시저 호출을 사용하는 API
클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송
Websocket API
JSON 객체를 사용하여 데이터를 전달하는 최신 웹 API
클라이언트와 서버 간의 양방향 통신을 지원
서버가 연결된 클라이언트에 콜백 메세지를 전송할 수 있어 REST API보다 효율적
REST API
현재에서 가장 많이 사용하는 API
HTTP 요청 메서드를 사용하여 서버와 클라이언트가 데이터를 교환
클라이언트가 보낸 요청에 대해서 서버가 응답을 해줌.
통합
새로운 애플리케이션을 기존 소프트웨어 시스템과 통합하는데 사용할 수 있음.
이는 기존 코드를 활용할 수 있게 해주고 개발 속도가 빨라짐.
혁신
REST API는 전체 코드를 다시 작서할 필요 없이 기존 코드를 활용하여 만들 수 있기 때문에 빠르게 변화에 대응가능
확장
기존 코드를 활용하기 때문게 쉽게 사용자의 요구 사항을 충족할 수 있는 기능을 만들 수 있음.
유지 관리의 용이성
API는 두 서버 간의 게이트웨이로써 각 서버의 변경사항이 서로에게 영향을 미치지 않음.