API
API는 프로그램이나 구성 요소가 서로 기능과 데이터를 요청할 수 있도록 입력·출력·오류·권한 규칙을 정의한 인터페이스다.
1. 개요
API(Application Programming Interface)는 다른 소프트웨어가 기능을 사용할 수 있도록 공개한 계약이다. 웹 API뿐 아니라 운영체제, 프로그래밍 라이브러리, 데이터베이스 인터페이스도 API에 포함된다. OpenAPI는 HTTP API를 언어에 독립적으로 기술하는 표준 형식이다.[1]
2. 핵심 구성
| 구분 | 설명 |
|---|---|
| 작업 | 호출할 수 있는 기능과 HTTP 메서드 등 동작 정의 |
| 입력 | 경로·질의·헤더·본문의 자료형과 필수 조건 |
| 출력 | 성공 데이터와 상태 코드·오류 구조 |
| 보안 | API 키·토큰·OAuth·인증서 등 접근 제어 방식 |
3. 작동 원리
클라이언트는 문서에 맞춰 요청을 만들고 서버는 인증·권한·입력값을 검증한 뒤 결과를 반환한다. REST, RPC, GraphQL 등 설계 방식이 다르지만 호출자가 예측할 수 있는 일관된 계약과 오류 처리가 중요하다. 버전 변경은 기존 이용자와의 호환성을 고려해야 한다.
4. 형성과 표준
API 개념은 운영체제와 라이브러리의 함수 인터페이스에서 널리 사용됐고 웹의 확산과 함께 원격 HTTP API가 보편화됐다. OpenAPI 3.2.0은 경로·작업·스키마·서버·보안 요구사항 등을 문서화하는 구조를 제공한다.[2]
5. 활용과 주의점
API 키를 브라우저 코드나 공개 저장소에 넣지 않는다. 서버는 클라이언트 검사를 신뢰하지 말고 모든 입력과 권한을 다시 검증해야 한다. 호출량 제한, 시간 초과, 재시도, 중복 요청의 안전성, 개인정보 최소화와 로그 마스킹을 설계한다.