API는 "Application Programming Interface"의 약어로, 애플리케이션 프로그래밍 인터페이스를 의미합니다. API는 소프트웨어 응용 프로그램과 다른 소프트웨어 간에 상호작용하는 데 사용되는 인터페이스를 제공하는 방법입니다.
일반적으로 API는 소프트웨어 컴포넌트들 간의 통신을 도와주는 일종의 규약이나 약속으로 생각할 수 있습니다. 하나의 소프트웨어가 다른 소프트웨어의 기능이나 데이터를 활용하기 위해서는 그 소프트웨어가 노출하는 API를 이용하여 상호작용합니다.
API는 다양한 형태로 제공될 수 있으며, 웹 API는 특히 인터넷을 통해 다른 서버와 통신하는 데에 자주 사용됩니다. 웹 API는 주로 HTTP를 기반으로 하며, 클라이언트와 서버 사이에서 요청과 응답을 주고받아 데이터를 교환하는 데에 사용됩니다.
예를 들어, 여러분이 인터넷 뱅킹 앱을 사용하면서 계좌 잔액을 확인하거나 거래 내역을 조회하는 경우, 해당 은행은 고객들에게 제공하는 API를 통해 은행 시스템과 상호작용하여 데이터를 가져오고 업데이트합니다. 이러한 방식으로 API는 다른 서비스와의 상호작용을 편리하고 효율적으로 처리할 수 있게 해주는 기술입니다.
쉬운 예로
게시판 글을 보여주는 API
상품 목록을 보여주는 API 같은 API들이 있습니다.
<참조>
공공 API 사이트 주소 : https://www.data.go.kr
그렇다면 REST API란 무엇일까요
REST API
REST API는 "Representational State Transfer API"의 약어로, 웹 서비스에서 리소스(자원)를 관리하는 데에 사용되는 아키텍처 스타일입니다. REST는 웹의 기존 기술과 프로토콜을 이용하여 분산 시스템을 구축하고 상호작용하는 방법을 제공합니다.
REST API는 다음과 같은 특징을 갖습니다:
1. 리소스 지향적(Resource-Oriented): 모든 자원은 고유한 URI(Uniform Resource Identifier)로 식별됩니다. 예를 들어, 사용자의 정보를 가져오는 경우 "/users"라는 URI를 사용할 수 있습니다.
2. HTTP 메서드 활용: REST API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 리소스에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행합니다. 각 메서드는 특정한 의미와 동작을 가지며, URI와 조합하여 리소스에 대한 작업을 정의합니다.
3. 상태 없음(Stateless): 서버는 각 요청을 독립적인 것으로 취급하고, 클라이언트의 상태를 서버에 저장하지 않습니다. 클라이언트가 필요한 모든 정보를 요청에 포함시켜야 합니다.
4. 자체 표현(Self-descriptive): REST API는 메시지 자체가 어떻게 처리되어야 하는지를 나타내는 정보를 포함하고 있어야 합니다. 주로 MIME 타입을 이용하여 데이터 형식을 정의합니다. 예를 들어, JSON 또는 XML 형식으로 데이터를 주고받을 수 있습니다.
REST API는 웹 기술과 프로토콜을 활용하여 다양한 플랫폼과 언어에서 쉽게 접근하고 사용할 수 있으며, RESTful 서비스는 클라이언트와 서버 간의 간결하고 일관된 인터페이스를 제공하여 개발과 유지보수를 용이하게 합니다. 이러한 이점으로 인해 REST API는 현대 웹 서비스의 표준 아키텍처로 널리 사용되고 있습니다.
사실상 쉽게 말해 자주 쓰는 API입니다.
'■ Web개발 > 기초 지식' 카테고리의 다른 글
Fetch / AJAX / Axios (0) | 2024.03.31 |
---|---|
XML, JSON, YAML 차이 (0) | 2024.03.31 |
웹앱 vs 하이브리드 앱 vs PWA (0) | 2024.03.31 |
쿠키 / 세션 / 토큰 / 캐시 / CDN (0) | 2024.03.31 |
반응형 웹 vs 적응형 웹 (0) | 2024.03.31 |