RESTful API란?
HTTP 프로토콜을 이용하여 웹 서비스를 제공하는 아키텍처 스타일. 각 API는 서버에 저장된 데이터와 상호작용하는 방법을 정의함. HTTP 메서드(GET, POST, PUT, PATCH, DELETE 등)를 사용하여 CRUD(Create, Read, Update, Delete) 작업을 수행한다.
- GET: 서버에서 데이터를 조회합니다.
- POST: 서버에 새로운 데이터를 생성합니다.
- PUT: 서버의 기존 데이터를 전체적으로 수정합니다.
- PATCH: 서버의 기존 데이터를 부분적으로 수정합니다.
- DELETE: 서버의 데이터를 삭제합니다.
RESTful API와 대조적인 웹 서비스 아키텍처?
SOAP(Simple Object Access Protocol): SOAP는 HTTP 뿐만 아니라 다른 프로토콜(SMTP 등)도 지원하는 메시지 기반의 프로토콜. SOAP는 보안, 트랜잭션 관리 등 고급 기능을 지원하지만 구현이 복잡하고 무거운 편.
GraphQL: REST와는 다르게 클라이언트가 필요한 데이터를 명시적으로 요청하는 방식. 이를 통해 Over-fetching, Under-fetching 문제를 해결할 수 있다.
gRPC(Remote Procedure Call): gRPC는 구글이 개발한 RPC 시스템으로, 효율적인 데이터 직렬화(Protobuf 사용)를 제공하며, 단일 API로 다양한 언어를 지원한다.