API 와 클라이언트-서버 통신

Jiwon Yoo·2023년 4월 24일
0

API 란?

API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말이다. 이때 Application은 고유한 기능을 가진 모든 소프트웨어를, 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의하고, API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.

즉, API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다.

API 작동 방법

API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명할 수 있는데, 요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 한다.

REST API 란?

REST는 Representational State Transfer의 약자이다. REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의하고 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환합니다.

REST API의 주된 특징은 무상태이다. 무상태는 서버가 요청 간에 클라이언트 데이터를 저장하지 않음을 의미한다. 서버에 대한 클라이언트 요청은 웹 사이트를 방문하기 위해 브라우저에 입력하는 URL과 유사하다. 서버의 응답은 웹 페이지의 일반적인 그래픽 렌더링이 없는 일반 데이터이다.

클라이언트-서버 통신

위에서 언급했다시피 클라이언트와 서버 사이에도 데이터와 리소스를 요청하고, 요청에 따른 응답을 전달하기 위한 매뉴얼이 필요하다. 이 상황을 식당에 비유하자면, 메뉴판(매뉴얼)을 보고 클라이언트는 식당에서 식사를 주문하듯 서버에 요청하고, 이에 대한 응답을 메뉴판에 있는 사진이나 음식에 대한 설명처럼 다시 서버에서 클라이언트로 전송하게 될 것이다.

따라서 HTTP 프로토콜을 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서는 알아보기 쉽고 잘 작성된 메뉴판이 필요한데, 이 역할을 API가 수행하는 것이다.

요약

클라이언트와 서버는 웹에서 HTTP 프로토콜을 사용해서 통신한다.
클라이언트는 서버로 요청을 보내고, 서버는 요청에 따라 적절한 응답을 클라이언트로 회신한다.
서버는 클라이언트에게 제공하는 API를 적절하게 디자인 해야한다.
클라이언트는 서버가 제공하는 API를 통해 적절하게 요청한다.

profile
새싹 개발자 🌱

0개의 댓글