API (Application Programming Interface)
API 란
정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
API 동작 방식
요청을 보내는 애플리케이션을 클라이언트, 응답을 보내는 애플리케이션을 서버
SOAP API
단순 객체 접근 프로토콜을 사용
클라이언트와 서버는 XML을 사용하여 메시지를 교환
과거에 더 많이 사용되었으며 유연성이 떨어짐
RPC API
원격 프로시저 호출
클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송
Websocket API
Websocket API는 JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API 개발
WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원
서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적
REST API (Representational State Transfer API)
오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API
클라이언트가 서버에 요청을 데이터로 전송, 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환
웹의 장점과 HTTP의 우수성을 적극 활용할 수 있는 아키텍처로 URI를 통해서 자원을 명시하고
POST, GET, PUT, PATCH, DELETE 등의 Method를 통해서 해당 자원의 행위를 지정
코드의 재사용성을 높일 수 있으며 프론트엔드와 백엔드의 완전한 분업이 가능해지는 등 장점을 가짐