API (Application Programming Interface)
응용 프로그래밍 인터페이스
1. 정의
- 소프트웨어 애플리케이션 간에 통신을 할 수 있도록하는 인터페이스 혹은 규격
- 두 애플리케이션이 서로 다른 프로그래밍 언어나 환경에서 개발되었더라도 상호작용할 수 있게 도와줌
2. 작동 방식
요청(Request) + 응답(Response)
요청을 보내는 클라이언트, 응답을 보내는 서버
- 요청은 특정한 형식과 규약을 따름
- 서버는 해당 요청을 처리한 후 응답
3. 사용 용도
- 외부 서비스 API
e.g. 기상청의 날씨 데이터 서비스를 가져와서 사용
- 클라이언트 - 서버 통신 API
- 라이브러리와 프레임워크 사용하기 위한 API
4. 종류
- RESTful API (Representational State Transfer)
- HTTP 기반
- 통신할 자원을 이름으로 구분하여 해당 자원의 상태를 주고받음
- 간결하고 가독성이 높음
- SOAP (Simple Object Access Protocol)
- XML 기반
- 상태를 저장할 수 있는 기능이 내장
- 높은 수준의 보안을 제공
💡 Open API
외부 개발자들이 특정 서비스나 소프트웨어의 기능을 활용할 수 있도록 개방된 API