API는 무엇을 의미?
요약 : 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
API는 Application Programming Interface의 줄임말이다.
API의 맥락에서 application이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다. interface는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.
쉬운 설명
API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체
API의 역할은?
1. API는 서버와 데이터베이스에 대한 출입구 역할을 한다. 데이터베이스에는 소중한 정보들이 저장되는데, 모든 사람들이 이 데이터베이스에 접근할 수 있으면 안 된다. API는 이를 방지하기 위해 클라이언트 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다.
2. API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다. 여기서 애플리케이션이란 우리가 흔히 알고 있는 스마트폰 어플이나 프로그램을 말합니다. API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 한다.
3. API는 모든 접속을 표준화한다. API는 모든 접속을 표준화하기 때문에 기기/운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있다. 쉽게 말해, API는 범용 플러그처럼 작동한다고 볼 수 있다.
API는 어떻게 작동?
API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명된다. 요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 한다. 따라서 날씨 예에서 기상청의 날씨 데이터베이스는 서버이고 모바일 앱은 클라이언트다.
API가 생성된 시기와 이유에 따라 API는 네 가지 방식으로 작동할 수 있다.
SOAP API
이 API는 단순 객체 접근 프로토콜을 사용한다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환한다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API다.
RPC API
이 API를 원격 프로시저 호출이라고 한다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송한다.
REST API
오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API다. 클라이언트가 서버에 요청을 데이터로 전송한다. 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환한다. 링크에서 REST API에 대해 더 자세히.
Websocket API
Websocket API는 JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 개발 API다. WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원한다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적이다.
'CS' 카테고리의 다른 글
[CS] Process, Thread (0) | 2022.11.26 |
---|---|
[CS] Transaction (0) | 2022.11.24 |
[CS] Protocol 이란? (0) | 2022.11.19 |
[CS] URI, URL & URN (0) | 2022.11.15 |
[CS] REST API (0) | 2022.11.09 |