API란?
한 프로그램에서 다른 프로그램으로 데이터를 주고 받기위한 방법이자 규칙, 프로토콜, 도구이다.
목차
API란?
Application Programming Interface 의 줄임말이다.
- Application: 고유한 기능을 가지고 있는 모든 sw(소프트웨어)
- Interface: 두 Application간의 요청과 응답을 통해 통신하는 방법을 정의
A라는 프로그램에서 B라는 프로그램으로 데이터를 전송하기 위한 규칙(방법, 프로토콜, 도구)이다.
이를 좀 더 풀어서 말하면 sw끼리 서로 대화하기 위한 설명서라고 할 수 있다.
식당에서 손님이 가게에 음식을 주문하기 위한 메뉴판이라고 생각하면 편하다.
즉 API문서에는 개발자가 요청과 응답을 정의하는 방법이 기재되어 있다.
API 사용처
우리 주변에는 다양한 API들이 있고 이를 활용하여 개발한 프로그램을 사용하고있다.
- 구글지도 API
- 구글의 지도 데이터베이스에 있는 지도 데이터를 이용한 구글 맵 애플리케이션에 사용
- 구글 맵이 구글 지도 API와 통신하기 위해 사용한다. - 결제API
- 각 카드사의 결제 프로그램을 이용한 온, 오프라인 결제에 사용
- 카드사의 결제 프로그램과 통신하기 위해 사용한다. - 소셜 로그인 API
- 각 소셜사이트에 저장되어있는 사용자의 정보를 이용한 게임 로그인에 사용
- 각 소셜 사이트의 사용자 정보를 사용하여 게임서버의 인증에 사용한다. - 일기예보 API
- 기상청의 일기예보 데이터베이스의 일기예보 데이터를 이용한 날씨 앱에 사용
- 날씨 앱은 기상청 데이터베이스에 일기예보 데이터를 요청하여 날씨를 보여준다.
API 분류
- SOAP API
- 클라이언트와 서버가 Xml을 사용하여 통신하는 단순 객체 접근 프로토콜 - RPD API
- 원격 프로시저 호출
- 클라이언트가 서버에서 함수나 프로시저을 완료하면 서버가 출력을 클라이어트로 반환한다. - Websocet API
- Json객체를 사용하여 통신하는 웹 API 개발
- 클라이언트와 서버의 양방향 통신을 지원한다.
- 서버가 클라이언트에게 콜백 메시지를 전송할 수 있다. - REST API
- 웹에서 가장 많이 사용되는 API이다.
- 클라이언트가 서버로 요청을 전송시 이를 받은 서버가 내부 함수를 실행하여 출력 데이터를 클라이언트에게 전송한다.
- REST: 클라이언트가 서버 데이터의 엑세스에 필요한 GET, PUT, DELETE 등의 함수집합이다.
Web ApI
웹 서버와 웹 브라우저 간의 애플리케이션 처리 인터페이스이다.
모든 웹 서비스는 API에 속한다. 하지만 모든 API가 웹 서비스는 아니다.
API의 장점
- 확장성
- 다양한 플랫폼에서 사용할 수 있다. - 통합성
- 기존의 sw에 새로운 sw를 추가하기가 용이하다. - 표준화
- API라는 규격화된 방법으로만 통신하기에 서로 다른 방법을 사용하지 않는다. - 유지보수
- API는 결국 하나의 sw를 모듈화 한것이다.
- 이를 통해 여러번 제작할 필요없이 재사용이 가능하다.
- sw에 문제가 생기거나 업데이트가 있을 경우 해당 sw만 내부적으로 변경하여 다른 sw에는 피해를 주지 않는다.
'Basic Information' 카테고리의 다른 글
| 서버란? (3) | 2025.08.01 |
|---|