LumoMate
LumoMate/용어집/SurfaceWeb

API

API(Application Programming Interface)는 서로 다른 프로그램이 정해진 규칙으로 데이터를 주고받게 해 주는 약속입니다. 사람의 UI와 달리, 다른 프로그램이 쓰라고 만든 '입출구'입니다.
API의 개념을 표현한 편집형 일러스트.
핵심 요약
  • API는 두 소프트웨어가 서로 대화하고 데이터를 주고받을 수 있게 해주는 규칙과 약속의 집합입니다.
  • 구글 로그인, 온라인 결제, 날씨 앱 등 우리가 매일 사용하는 디지털 서비스 뒤에는 API가 작동하고 있습니다.
  • 개발자가 아니어도 API의 혜택을 받고 있으며, API는 비즈니스와 소비자가 의존하는 디지털 도구를 연결합니다.

API란 무엇인가요?

APIApplication Programming Interface(애플리케이션 프로그래밍 인터페이스)의 약자로, 두 소프트웨어가 서로 소통할 수 있도록 정의된 규칙과 프로토콜의 집합입니다. 쉽게 말해, API는 두 앱이 서로의 내부 구조를 몰라도 정보를 주고받을 수 있게 해주는 중간 전달자 또는 번역가 역할을 합니다.

API는 현대 기술의 가장 기본적인 구성 요소 중 하나이지만, 대부분의 사람들은 하루에도 수십 번씩 API를 사용하면서도 그 사실을 인식하지 못합니다.

칸막이 벽에 난 좁은 구멍을 통해 두 통의 종이 봉투가 서로 반대 방향으로 미끄러져 들어가고 나오는 장면. 정해진 통로를 지나는 요청과 응답.
FIG. 1정해진 구멍을 지나는 두 통의 봉투. 구멍은 양쪽 방이 어떻게 생겼는지 신경 쓰지 않습니다.

일상의 비유로 이해하기

레스토랑을 상상해 보세요. 여러분은 손님(하나의 앱)이고, 주방은 서버(또 다른 앱)입니다. 웨이터가 바로 API입니다.

여러분은 직접 주방에 들어가 음식을 만들지 않습니다. 대신, 웨이터에게 원하는 메뉴를 말하고, 웨이터가 주방에 전달하고, 주방이 음식을 준비하면, 웨이터가 다시 가져다줍니다. 주방 안에서 무슨 일이 일어나는지 볼 필요 없이 원하는 음식을 받을 수 있죠.

API도 정확히 같은 방식으로 작동합니다. 날씨 앱을 열면, 앱이 직접 날씨 데이터를 만들어내지 않습니다. 날씨 서비스의 API에 요청을 보내고, API가 데이터를 가져와 밀리초 만에 앱으로 돌려보냅니다.

왜 중요한가요?

API는 개발자들이 모든 것을 처음부터 만들 필요 없이 기존 서비스를 재사용해 강력한 애플리케이션을 빠르게 만들 수 있게 해줍니다. 비즈니스 오너와 일반 사용자에게 API는 다음을 의미합니다:

  • 편의성: '구글로 로그인' 또는 '페이팔로 결제' 같은 기능이 API 덕분에 가능합니다.
  • 통합: 다른 도구들이 원활하게 함께 작동할 수 있습니다 — 쇼핑몰이 배송 추적, 결제 처리, 이메일 서비스를 API로 연결할 수 있습니다.
  • 혁신: 스타트업은 기존 API를 조합해 강력한 제품을 만들 수 있습니다. 은행, 지도 서비스, 메시지 시스템을 처음부터 구축할 필요가 없습니다.

API는 또한 기업이 자사 시스템에 완전한 접근 권한을 부여하지 않고도 외부 개발자와 데이터를 안전하게 공유할 수 있게 합니다.

작동 방식

현대의 대부분의 API는 REST(Representational State Transfer)라는 형식을 사용하며 인터넷을 통해 통신합니다. 간단히 설명하면:

  1. 요청(Request): 앱이 API에 요청을 보냅니다. 요청에는 원하는 작업(데이터 가져오기, 전송, 업데이트)과 필요한 세부 정보가 포함됩니다.
  2. 처리(Processing): API가 요청을 받아 유효성을 확인하고, 서버에 작업을 지시합니다.
  3. 응답(Response): 서버가 결과를 보내며, 보통 JSON(JavaScript Object Notation)이라는 구조화된 데이터 형식으로 전달됩니다.

마치 온라인 양식을 작성하는 것과 같습니다: 빈칸을 채우고(요청), 제출하면(API 호출), 확인 또는 결과가 반환됩니다(응답).

API는 보통 요청자를 식별하고 보안을 유지하기 위해 API 키라는 고유 코드가 필요합니다.

자주 볼 수 있는 예시

상황내부에서 일어나는 일
구글 계정으로 로그인웹사이트가 구글 API를 호출해 신원을 확인
항공권 예약여행 사이트가 항공사 API에서 좌석과 가격 조회
앱에서 날씨 확인앱이 날씨 데이터 API(예: OpenWeatherMap)를 호출
Stripe로 온라인 결제결제 시 Stripe의 결제 API가 카드를 처리
웹사이트에 지도 삽입구글 맵스 또는 Mapbox API를 통해 지도 로드

이 모든 경험이 API가 조용히 작동하는 덕분에 가능합니다.

핵심 정리

API는 두 앱 사이의 디지털 악수입니다. 서로의 내부 코드를 이해하지 않아도 질문하고, 답변을 공유하고, 협력할 수 있는 방법을 정의합니다. API는 우리가 의존하는 연결되고 편리한 인터넷 경험을 가능하게 합니다.

결제 시스템을 통합하는 소상공인이든, 새 제품을 만드는 개발자든, 어딘가에 로그인하는 일반 사용자든 — API는 항상 뒤에서 작동하고 있습니다.

관련 용어

  • SaaS — API 위에 구축된 구독형 인터넷 소프트웨어 서비스입니다.
  • 클라우드 컴퓨팅 — API가 연결하는 서버와 서비스를 호스팅하는 인프라입니다.
  • 오픈 소스 — 많은 인기 있는 API 프레임워크와 도구는 오픈 소스입니다.
  • 머신러닝 — AI 서비스는 종종 API를 통해 개발자에게 제공됩니다.
  • JSON — API를 통해 정보를 주고받는 데 가장 많이 사용되는 데이터 형식입니다.

출처

  • Red Hat — "What is an API?": 엔터프라이즈 소프트웨어에서 API 개념과 유형을 설명하는 널리 인용되는 개요. (redhat.com)
  • MuleSoft — API 용어 사전: 비즈니스 및 기술 독자를 위한 REST, API 키, 통합 패턴 설명. (mulesoft.com)
  • MDN Web Docs — 웹 API 소개: Mozilla의 웹 개발에서 API에 대한 초보자 친화적인 가이드. (developer.mozilla.org)
매주 월요일 오전 8시

한 주에 한 통,
오래 남는 이해를 보냅니다.

흘려보내지 않는 글만 골라 보내드립니다. 광고와 추적, 외부로 빠지는 미끼 링크 없이 메일 안에서 끝나는 한 통입니다.

언제든 한 번의 클릭으로 해지할 수 있습니다. 스팸은 보내지 않습니다.