API(Application Programming Interface)란?
- API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다.
예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 "대화"하고 휴대폰에 매일 최신 날씨 정보를 표시합니다.
API는 무엇을 의미하나요?
- API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말
터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있습니다.
API는 어떻게 작동하나요?
- API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명됩니다
요청을 보내는 애플리케이션을 클라이언트
응답을 보내는 애플리케이션을 서버
날씨 예에서 기상청의 날씨 데이터베이스는 서버이고 모바일 앱은 클라이언트
API가 생성된 시기와 이유에 따라 API는 네 가지 방식으로 작동
- SOAP API
이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API입니다.
- RPC API
이 API를 원격 프로시저 호출이라고 합니다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송합니다.
- Websocket API
SON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API 개발입니다. WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원합니다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적입니다.
오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API입니다. 클라이언트가 서버에 요청을 데이터로 전송합니다. 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환합니다.
API의 다른 유형
- 프라이빗 API
프라이빗 API는 기업 내부에 있으며 비즈니스 내에서 시스템과 데이터를 연결하는 데만 사용됩니다.
- 퍼블릭 API
퍼블릭 API는 일반에 공개되며 누구나 사용할 수 있습니다. 이러한 유형의 API와 관련된 권한 부여와 비용이 있을 수도 있고 없을 수도 있습니다.
- 파트너 API
B2B 파트너십을 지원하기 위해 권한이 부여된 외부 개발자만 액세스할 수 있습니다.
- 복합 API
복합 API는 두 개 이상의 서로 다른 API를 결합하여 복잡한 시스템 요구 사항이나 동작을 처리합니다.
'몰아 넣기' 카테고리의 다른 글
[그 외] REST API 란? (0) | 2022.06.29 |
---|---|
[그 외] 클라이언트에서 서버 흐름 (0) | 2022.06.29 |
[java/spring] @Transactional 대해서 (0) | 2022.06.22 |
[java/spring]스프링에서 인터셉터(Interceptor) 사용하기 (0) | 2022.06.22 |
[java/spring] 스프링시큐리티에서 세션 안받아지는 CORS 문제 해결하기 (0) | 2022.06.20 |