[Web] API
2024. 8. 6. 20:20ㆍ개발 지식/Basic
API 는 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이라고 하는데, 해당 표현만으로는 명확하게 파악하기 어려워 한 번 정리하고자 한다.
1. API
'API' 는 'Application Programming Interface(애플리케이션 프로그래밍 인터페이스)' 의 약자로 여기서 말하는 애플리케이션은 고유한 기능을 가진 모든 소프트웨어를 말 한다고 한다. 또한 인터페이스는 두 애플리케이션 간의 서비스 계약이라 할 수 있으며, 해당 계약은 요청/응답을 사용해 두 애플리케이션 간 통신하는 방법을 정의 한다. API 문서에는 개발자가 요청/응답에 대해 구성한 방법에 대한 정보가 담겨 있다.
2. 작동 방식
API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명되는데, 요청을 보내는 애플리케이션 쪽을 클라이언트라 하고 응답을 보내는 애플리케이션을 서버라 지칭한다. API 는 생성 시기와 이유에 따라 4가지 방식으로 작동할 수 있다.
- SOAP API : 단순 객체 접근 프로토콜을 사용하며, 클라이언트와 서버는 XML 을 사용해 메시지를 교환한다. 과거에 많이 사용된 방식으로 유연성이 떨어진다.
- RPC API : 원격 프로시저 호출이라 하며, 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송하는 방식
- Websocket API : JSON 객체를 사용해 데이터를 전달하며, 클라이언트 앱과 서버 간의 양방향 통신을 지원한다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API 보다 효율적이란 평가가 있다.
- REST API : 오늘 날의 웹에서 가장 많이 사용되는 유연한 API 이다. 클라이언트가 서버에 요청을 데이터로 전송하며, 서버가 클라이언트의 요청을 수행하고 출력 결과를 클라이언트에게 반환하는 방식이다.
참고 문서
'개발 지식 > Basic' 카테고리의 다른 글
[DB] DB (0) | 2024.08.13 |
---|---|
[DB] SQL (0) | 2024.08.13 |
[Web] REST (0) | 2024.08.06 |
[Web] REST API 란 무엇일까? (0) | 2024.08.06 |
[Web] TCP/IP (0) | 2024.08.02 |