- [로드맵] API 접근 방식2024년 11월 21일 09시 16분 01초에 업로드 된 글입니다.작성자: do_hyuk
REST
REST API(Representational State Transfer Application Programming Interface)는 네트워크 애플리케이션을 설계하기 위한 아키텍처 스타일이다. 리소스와 상호 작용하기 위해 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 사용하며, 리소스는 URI(Uniform Resource Identifiers)로 표현된다. REST API는 무상태이므로 클라이언트에서 서버로 보내는 각 요청에는 요청을 이해하고 처리하는 데 필요한 모든 정보가 포함되어야 한다. 표준 HTTP 상태 코드를 사용하여 요청의 결과를 나타내고 JSON 또는 XML과 같은 형식으로 통신하는 경우가 많다. REST API는 단순성, 확장성, 웹 서비스 및 애플리케이션과의 통합 용이성으로 인해 널리 사용된다.
JSON API
JSON 또는 JavaScript Object Notation은 정의된 방식으로 통신하는 서버와 통신하기 위해 각 애플리케이션에 임시 코드가 필요하지 않도록 설계된 인코딩 체계이다. JSON API 모듈은 엔티티 유형, 번들, 필드와 같은 데이터 저장소 및 데이터 구조에 대한 구현을 노출한다.
SOAP
Simple Object Access Protocol(SOAP)은 시스템과 애플리케이션 간에 정보를 교환하기 위한 메시지 프로토콜이다. 애플리케이션 프로그래밍 인터페이스(API)에 관해서는 SOAP API가 보다 구조화되고 공식화된 방식으로 개발된다. SOAP 메시지는 웹 관련 Hypertext Transfer Protocol(HTTP)을 포함한 다양한 하위 수준 프로토콜을 통해 전달될 수 있다.
gRPC
gRPC는 고성능 오픈 소스 범용 RPC 프레임워크로, RPC는 Remote Procedure Call의 약자입니다. g가 무엇을 의미하는지에 대한 논쟁이 계속되고 있다. RPC는 프로그램이 다른 컴퓨터에 있는 다른 프로그램의 프로시저를 실행할 수 있도록 하는 프로토콜이다. 가장 큰 장점은 개발자가 원격 상호 작용의 세부 사항을 코딩할 필요가 없다는 것이다. 원격 프로시저는 다른 함수와 마찬가지로 호출된다. 하지만 클라이언트와 서버는 다른 언어로 코딩할 수 있다.
GraphQL
GraphQL은 Facebook에서 개발한 API용 쿼리 언어이자 해당 쿼리를 실행하기 위한 런타임이다. 고정된 엔드포인트가 미리 정의된 데이터를 반환하는 REST와 달리 GraphQL은 클라이언트가 필요한 데이터만 정확히 요청할 수 있도록 하여 API 상호 작용을 보다 유연하고 효율적으로 만든다. 단일 엔드포인트를 사용하고 사용 가능한 데이터의 유형과 구조를 정의하는 스키마에 의존한다. 이 접근 방식은 데이터의 과도한 페칭과 부족한 페칭을 줄여 여러 플랫폼(예: 웹, 모바일)에서 다양한 데이터 요구 사항이 있는 복잡한 애플리케이션에 이상적이다.
'백엔드' 카테고리의 다른 글
[로드맵] API 설계 원칙 (0) 2024.11.24 [로드맵] 인증 및 권한 부여 메커니즘 (0) 2024.11.23 [로드맵] Learn about APIs (0) 2024.11.20 [로드맵] RDB (1) 2024.11.19 [로드맵] Relational Database (0) 2024.11.18 댓글