💻 IT / / 2025. 1. 8. 15:31

API란 무엇인가

반응형

API란 무엇인가

API란 무엇인가

API는 Application Programming Interface의 약자로, 소프트웨어 간에 서로 데이터를 주고받거나 기능을 사용할 수 있도록 도와주는 인터페이스를 말합니다. 간단히 말해, API는 두 애플리케이션이 서로 소통할 수 있도록 설계된 규칙과 프로토콜입니다.

API의 주요 특징

  1. 데이터 교환
    • API를 통해 한 애플리케이션에서 다른 애플리케이션으로 데이터를 보낼 수 있습니다.
    • 예 : 날씨 앱이 외부의 날씨 API를 사용해서 실시간 날씨 정보를 받아오는 경우
  2. 기능 제공
    • API를 통해 특정 기능을 호출할 수 있습니다.
    • 예 : 결제 시스템에서 PayPal API를 이용해 결제 처리 기능을 구현
  3. 추상화
    • 내부 구현 방식을 알 필요 없이, 제공된 문서를 기반으로 API를 사용할 수 있습니다.

 

API의 유형

  1. REST API
    • HTTP 프로토콜을 사용하며 URL을 통해 데이터를 주고 받습니다.
    • 주로 JSON 또는 XML 형식으로 데이터 교환
  2. SOAP API
    • XML 기반의 메시징 프로토콜을 사용하는 API
    • 보안이 중요하거나 복잡한 트랜잭션이 필요한 시스템에서 주로 사용
  3. Open API
    • 누구나 사용할 수 있도록 공개된 API
    • 예 : 구글 지도 API, 트위터 API
  4. Private API
    • 특정 회사 내부에서만 사용하는 API
    • 예 : 사내 시스템 간 데이터 교환

 

실생활 예시

  • Google Maps API : 앱에서 지도를 표시하거나 경로를 제공
  • Youtube API :  다른 웹사이트나 앱에서 동영상을 검색하거나 표시
  • Kakao API : 카카오 로그인, 카카오톡 메시지 전송 기능 제공

 

API의 장점

  • 효율성 : 기능을 직접 구현하지 않고도 쉽게 사용할 수 있음.
  • 확장성 : 다른 서비스와의 연동으로 기능을 확장 가능
  • 표준화 : 일관된 방식으로 데이터와 기능에 접근

 

API는 어떻게 작동하나?

  • [요청 ➞ 처리 ➞ 응답]의 세가지 과정으로 작동
  • 요청 (Request) 
    클라이언트가(사용자) API를 통해 필요한 정보 요청
  • 처리 (Process)
    서버(API 제공자)가 요청을 받고 데이터를 처리한 뒤, 요청에 맞는 결과 준비
  • 응답 (Response)
    서버가 처리한 결과를 사용자에게 반환

 

👉 API 동작 조건 및 순서

  1. 요청 (Request) 
    • 클라이언트는 특정 URL로 요청
    • 요청은 다음과 같은 요소로 구성
      • HTTP 메서드 : GET, POST, PUT, DELETE 등
      • 엔드포인트 : 서버의 특정 기능을 호출하는 URL
        ex ) https://api.weather.com/v1/current?location=Seoul&unit=celsius
        location=Seoul : 위치를 '서울'로 지정
        unit=celsius : 온도 단위를 '섭씨(Celsius)'로 지정
      • 헤더(Header) :  요청에 대한 추가 정보를 포함
        헤더의 기능
        1. 인증 (Authentication) : API 키나 토큰을 사용해 사용자를 인증
        2. 콘텐츠 유형 (Content Type) : 요청 또는 응답 데이터의 형식 명시
        3. 사용자 에이전트 (User-Agent) : 요청을 보낸 클라이언트의 정보 전달.
        4. 언어 설정 (Accept-Language) : 요청 데이터나 응답 데이터의 언어를 지정
      • 본문(Body) :  데이터를 포함하는 경우 (주로 POST 요청)
  2. 처리 (Processing)
    서버는 요청을 확인하고 필요한 데이터를 검색하거나 계산.
    서버 내부에서 데이터베이스와의 통신, 비즈니스 로직 처리 등이 이루어짐.
  3. 응답 (Response)
    서버는 요청에 대한 결과를 클라이언트(요청자)로 반환.
    응답 데이터는 주로 JSON 또는 XML 형식으로 제공
    응답 코드(HTTP 상태 코드)를 통해 요청의 성공 여부를 표시
    • 200 OK : 성공
    • 404 Not Found : 요청한 자원을 찾을 수 없음
    • 500 Internal Server Error : 서버 오류

 

👉 API 작동 시 잊지 말아야 할 것들

  1. REST API : URL을 통해 요청과 응답이 이루어지는 방식
  2. JSON : 응답 데이터를 표현하는 가벼운 데이터 형식
  3. HTTP 메서드 : API 호출 시 사용하는 동작 명령어 (GET, POST 등)
  4. 엔드포인트 : API 서버의 특정 기능을 호출하는 URL 경로

여기서 꼭 JSON이 아니어도 된다. 다양하게 던져주는 방식이 있는데 가장 사용하기 쉬운게 JSON

 

 

API를 사용할 때 필요한 것들

  1. API 문서 (API Documentation)
    데이터를 제공해주는 곳의 API 문서를 참고해 봐야함
    예시 : 카카오API, 네이버 API, ChatGPT API
  2. API 키 (API Key)
    서비스를 제공해주는 곳에서 개인별 제공받은 키가 있어야 특정 데이터를 추출 받을 수 있다.
  3. HTTP 클라이언트
    기본 데이터를 주고 받는 환경(서버, 언어)가 구성되어 있어야 한다.

 

 

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유