API 란?

seyeon·2025년 4월 7일
post-thumbnail

API란 무엇인가?

API 🔎

API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다.

API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말이다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다.
인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있으며, 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.

  • 애플리케이션이란 특정 기능을 가진 소프트웨어를 뜻한다.
  • 또한 인터페이스는 두가지를 연결해주는 중간다리라고 생각하면 된다.
  • Progamming 컴퓨터에 부여하는 명령을 만드는 작업, 수식이나 작업을 컴퓨터에 알맞도록 정리해서 순서를 정하고 컴퓨터 특유의 명령코드로 고쳐 쓰는 작업이다!

이렇게 말하면 이해하기 어려울 수 있으니! 비유로 설명하자면,

API는 마치 레스토랑의 메뉴판과 같다. 식당에 가서 음식을 주문할 때, 메뉴판에 적힌 메뉴를 주문한다. 주문을 받은 서버 직원이 주방에 요청을 보내고, 요리가 나오면 다시 나에게 가져다준다.
이때, 나는 주방 안으로 들어가서 요리를 만들지 않는다. 주방과 나는 메뉴판이라는 약속을 통해 소통한다

API도 비슷하다. 프로그램 A(ex>내 앱)가 프로그램 B(ex> 서버)에게 (요청) 할 때, 프로그램 B가 (응답) 결과를 보내준다.

이때 _두 프로그램이 서로 어떻게 요청하고 응답해야 하는지 정해둔 규칙이 바로 API이다.

API는 어떻게 작동할까 ❓

애플리케이션 프로그래밍 인터페이스(API)를 사용하면 소프트웨어 프로그램이 API 호출 또는 정보 요청을 주고받으며 서로 통신할 수 있다. 이러한 요청은 API 클라이언트에 의해 시작되고 API 엔드포인트에서 수락합니다.

  • API 클라이언트란?
    '사용자'라고도 하는 API 클라이언트는 API 호출을 시작하는 소프트웨어
    API 클라이언트는 API 엔드포인트와 상호 작용하기 전에 신원을 확인해야 하며, 이를 통해 공격자가 API를 악용하여 분산 서비스 거부(DDoS) 공격 또는 기타 악의적인 작업을 수행하는 것을 방지할 수 있다.
    인증은 일반적으로 고유 문자열(API 키), 사용자 이름과 비밀번호의 조합, OAuth 토큰 또는 mutual TLS의 네 가지 방법 중 하나를 통해 이루어진다.

- API 엔드포인트란?
API 엔드포인트 는 API 호출을 수락하고 요청된 정보를 반환한다.

API 클라이언트와 엔드포인트는 모두 개별 하드웨어 장치가 아닌 서버에서 호스팅되는 소프트웨어 프로그램을 의미합니다. API 서버는 여러 개의 엔드포인트를 호스팅할 수 있으며, 각 엔드포인트에는 API 클라이언트가 찾을 수 있는 고유 리소스 식별자(URI)가 할당됩니다. 대부분의 경우 이 URI는 인터넷 기반 위치(예: 웹사이트)를 가리키는 URL(유니폼 리소스 로케이터)입니다.

API 간에 정보를 교환하기 위해 개발자는 API가 수락할 수 있는 요청 유형, 지원하도록 설계된 사용 사례 및 기타 조건(예. 프로토콜, 스키마 및 보안 요구 사항)을 준수해야 하는 제3자가 있습니다.

API 호출을 사용하면 개발자가 개별 애플리케이션마다 함수를 처음부터 다시 작성할 필요 없이 API가 기능을 공유할 수 있습니다. 이러한 기능이 없다면 개발자는 여러 애플리케이션에서 기능을 쉽게 복제하거나 다른 앱, 서비스 및 제공업체에 데이터를 요청할 수 없습니다.

REST API란? 🔎

REST는 Representational State Transfer의 줄임말. REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의한다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.

웹 API란? 🔎

웹 API 또는 웹 서비스 API는 웹 서버와 웹 브라우저 간의 애플리케이션 처리 인터페이스이다. 모든 웹 서비스는 API이지만 모든 API가 웹 서비스는 아님. REST API는 위에서 설명한 표준 아키텍처 스타일을 사용하는 특수한 유형의 웹 API이다.

역사적으로 API가 월드 와이드 웹 전에 만들어졌기 때문에 Java API, 서비스 API 등 API에 대한 다양한 용어가 존재한다. 최신 웹 API는 REST API이며 용어는 서로 바꿔 사용할 수 있다.

API의 접근 방식에 따른 유형

Private API

Private API는 내부 API로, 기업이나 연구 단체 등에서 자체 제품과 운영 개선을 위해 단체 내부에서만 사용, 따라서 외부에 노출되지 않음.

Public API

Public API는 개방형 API로 모두에게 공개되어있다. Public API 중에서도 접속하는 대상에 대한 제약이 없는 경우를 OpenAPI라고 부른다.

Partner API

Partner API는 특정 비즈니스 파트너간의 데이터 공유를 위한 API, 서로에게 공유를 동의하는 특정인들만 사용할 수 있는 경우이다.

킁... 끗

0개의 댓글