반응형
API란 무엇인가
API는 Application Programming Interface의 약자로, 소프트웨어 간에 서로 데이터를 주고받거나 기능을 사용할 수 있도록 도와주는 인터페이스를 말합니다. 간단히 말해, API는 두 애플리케이션이 서로 소통할 수 있도록 설계된 규칙과 프로토콜입니다.
API의 주요 특징
- 데이터 교환
- API를 통해 한 애플리케이션에서 다른 애플리케이션으로 데이터를 보낼 수 있습니다.
- 예 : 날씨 앱이 외부의 날씨 API를 사용해서 실시간 날씨 정보를 받아오는 경우
- 기능 제공
- API를 통해 특정 기능을 호출할 수 있습니다.
- 예 : 결제 시스템에서 PayPal API를 이용해 결제 처리 기능을 구현
- 추상화
- 내부 구현 방식을 알 필요 없이, 제공된 문서를 기반으로 API를 사용할 수 있습니다.
API의 유형
- REST API
- HTTP 프로토콜을 사용하며 URL을 통해 데이터를 주고 받습니다.
- 주로 JSON 또는 XML 형식으로 데이터 교환
- SOAP API
- XML 기반의 메시징 프로토콜을 사용하는 API
- 보안이 중요하거나 복잡한 트랜잭션이 필요한 시스템에서 주로 사용
- Open API
- 누구나 사용할 수 있도록 공개된 API
- 예 : 구글 지도 API, 트위터 API
- Private API
- 특정 회사 내부에서만 사용하는 API
- 예 : 사내 시스템 간 데이터 교환
실생활 예시
- Google Maps API : 앱에서 지도를 표시하거나 경로를 제공
- Youtube API : 다른 웹사이트나 앱에서 동영상을 검색하거나 표시
- Kakao API : 카카오 로그인, 카카오톡 메시지 전송 기능 제공
API의 장점
- 효율성 : 기능을 직접 구현하지 않고도 쉽게 사용할 수 있음.
- 확장성 : 다른 서비스와의 연동으로 기능을 확장 가능
- 표준화 : 일관된 방식으로 데이터와 기능에 접근
API는 어떻게 작동하나?
- [요청 ➞ 처리 ➞ 응답]의 세가지 과정으로 작동
- 요청 (Request)
클라이언트가(사용자) API를 통해 필요한 정보 요청 - 처리 (Process)
서버(API 제공자)가 요청을 받고 데이터를 처리한 뒤, 요청에 맞는 결과 준비 - 응답 (Response)
서버가 처리한 결과를 사용자에게 반환
👉 API 동작 조건 및 순서
- 요청 (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) : 요청에 대한 추가 정보를 포함
헤더의 기능
- 인증 (Authentication) : API 키나 토큰을 사용해 사용자를 인증
- 콘텐츠 유형 (Content Type) : 요청 또는 응답 데이터의 형식 명시
- 사용자 에이전트 (User-Agent) : 요청을 보낸 클라이언트의 정보 전달.
- 언어 설정 (Accept-Language) : 요청 데이터나 응답 데이터의 언어를 지정
- 본문(Body) : 데이터를 포함하는 경우 (주로 POST 요청)
- 처리 (Processing)
서버는 요청을 확인하고 필요한 데이터를 검색하거나 계산.
서버 내부에서 데이터베이스와의 통신, 비즈니스 로직 처리 등이 이루어짐. - 응답 (Response)
서버는 요청에 대한 결과를 클라이언트(요청자)로 반환.
응답 데이터는 주로 JSON 또는 XML 형식으로 제공
응답 코드(HTTP 상태 코드)를 통해 요청의 성공 여부를 표시- 200 OK : 성공
- 404 Not Found : 요청한 자원을 찾을 수 없음
- 500 Internal Server Error : 서버 오류
👉 API 작동 시 잊지 말아야 할 것들
- REST API : URL을 통해 요청과 응답이 이루어지는 방식
- JSON : 응답 데이터를 표현하는 가벼운 데이터 형식
- HTTP 메서드 : API 호출 시 사용하는 동작 명령어 (GET, POST 등)
- 엔드포인트 : API 서버의 특정 기능을 호출하는 URL 경로
여기서 꼭 JSON이 아니어도 된다. 다양하게 던져주는 방식이 있는데 가장 사용하기 쉬운게 JSON
API를 사용할 때 필요한 것들
- API 문서 (API Documentation)
데이터를 제공해주는 곳의 API 문서를 참고해 봐야함
예시 : 카카오API, 네이버 API, ChatGPT API - API 키 (API Key)
서비스를 제공해주는 곳에서 개인별 제공받은 키가 있어야 특정 데이터를 추출 받을 수 있다. - HTTP 클라이언트
기본 데이터를 주고 받는 환경(서버, 언어)가 구성되어 있어야 한다.
반응형
'💻 IT' 카테고리의 다른 글
REST API란? (0) | 2025.01.08 |
---|---|
iOS 18.1.1 업데이트를 통한 새로운 기능과 개선 사항 (1) | 2024.11.27 |
[VScode] VSCode 설치 및 확장프로그램 추천 (1) | 2024.01.25 |
'기계식 키보드' 사기 전 한번에 총 정리! (2) | 2023.12.07 |