API는 Application Programming Interface의 약자로 애플리케이션은 고유한 기능을 가진 모든 소프트웨어를 나타낸다.
인터페이스는 두 애플리케이션 간의 서비스 계약으로 요청과 응답을 사용하여 서로 통신하는 방법을 정의한다.
즉, API는 서버-클라이언트 혹은 서버-서버나 클라이언트-클라이언트 간의 소통 방법(어떤 프로토콜이 어떤 기능을 하고, 어떤 정보를 주고 받을 지)을 정의해놓은 인터페이스라고 할 수 있다.
API의 종류 - Partner API
- SOAP API : 단순 객체 프로토콜을 사용. XML을 사용하며 과거에 많이 사용되었으나 유연성이 떨어짐.
- RPC API : 원격 프로시저 호출. 클라이언트가 서버에서 함수 등을 완료하면 서버가 출력을 다시 전송.
- Websocket API : JSON을 사용하는 최신 웹 API. 클라-서버 양방향 통신을 지원하여 REST API보다 효율적.
- REST API : 가장 많이 사용되는 유연한 API. 클라-요청, 서버-응답의 형태를 갖고 있음.
REST API란?
Representational State Transfer의 약자이다. REST는 클라이언트가 서버에 액세스하는데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의하며, HTTP를 사용하여 데이터를 교환한다.
REAT API의 특징은 무상태. 서버가 요청 간에 클라이언트의 데이터를 저장하지 않음을 의미한다. 서버에게 전달되는 클라이언트의 요청은 URL과 유사하다. 서버의 응답은 웹 페이지의 일반적인 그래픽 렌더링이 없는 데이터이다.
웹 API는 말 그대로 웹 서버와 브라우저 간의 API다. 모든 웹 서비스는 API지만, 모든 API가 웹 서비스는 아니다.
다른 API의 종류로는 라이브러리 API가 있다. 특정 라이브러리나 프레임워크에서 제공하는 함수와 클래스 등을 사용하여 다른 소프트웨어 구성 요소와 상호작용할 수 있도록 인터페이스를 제공한다.
참고자료
API는 웹에서만 사용하는 용어라고 생각했는데 아니었다. 오히려 웹 API가 더 작은 단위... API는 웹에서만 사용하는 용어라고 생각했는데 아니었다. 오히려 웹 API가 더 작은 단위...갈 길이 멀다
'Web' 카테고리의 다른 글
[Spring+React] Session으로 사용자 정보 관리하기 (0) | 2024.04.17 |
---|---|
[React] 동기와 비동기 / async와 await (0) | 2024.04.15 |
[Spring] CORS 설정으로 오류 해결 (0) | 2024.04.11 |
[Spring+React] 리액트에서 보낸 json 스프링에서 받기 (0) | 2024.04.06 |