웹
API
다른 이름: Application Programming Interface , Web API
정의
Application Programming Interface. 소프트웨어 간 상호작용 규약. 함수, 클래스, HTTP 엔드포인트 등. REST API(HTTP), gRPC(RPC), GraphQL(쿼리 언어) 등. 클라이언트가 서버 기능을 호출하는 인터페이스. 공개 API(Twitter, Google Maps), 내부 API
상세 설명
기술 스펙
- REST API: HTTP 메서드 (GET, POST, PUT, DELETE) + URL
- GraphQL: 단일 엔드포인트 + 쿼리
- gRPC: Protocol Buffers + HTTP/2
- SOAP: XML 기반 (레거시)
- API 버전: /v1/, /v2/ 또는 헤더 (Accept: application/vnd.api.v2+json)
- 인증: API Key, OAuth, JWT
- Rate Limiting: 429 Too Many Requests
실무 활용
- 공개 API: Twitter API, Google Maps API
- 마이크로서비스: 서비스 간 통신
- 모바일 앱: 서버 데이터 조회
- 써드파티 연동: 결제(Stripe), 메일(SendGrid)
장점
- 재사용성: 한 번 구현으로 여러 클라이언트
- 독립성: 클라이언트-서버 분리
- 확장성: 버전 관리, 캐싱
- 표준화: REST, GraphQL 업계 표준
단점 및 제약
- 문서화 부담: API 명세 유지보수
- 버전 관리: 하위 호환성 유지
- 보안: 인증, Rate Limiting 필수
- 네트워크 지연: HTTP 오버헤드
호환성
모든 프로그래밍 언어, 플랫폼
표준 정보
표준화 기구: REST (Roy Fielding, 2000), OpenAPI Specification
출시 연도: 1968년