what is REST api?
REST ful API
RESTful API는 Representational State Transfer(표현 상태 전이)를 기반으로 하는 웹 서비스의 설계 원칙을 따르는 API입니다. REST는 분산 시스템에서 리소스 간 상태 전이를 위한 아키텍처 스타일로, 간결하고 확장 가능한 디자인을 제공합니다. RESTful API는 HTTP를 통해 자원을 나타내고 상호 작용하는 방식을 규정하며, REST의 기본 원칙을 따라야 합니다.
RESTful API의 주요 특징과 원칙은 다음과 같습니다:
-
자원 (Resource): 모든 것을 리소스로 표현합니다. 각 리소스는 고유한 식별자(URI)를 가지며, 이를 통해 리소스에 접근합니다. 예를 들어, 사용자, 제품, 주문 등이 리소스가 될 수 있습니다.
-
표현 (Representation): 리소스의 상태는 여러 형태로 표현될 수 있습니다. JSON 또는 XML 형식의 데이터로 표현되며, 클라이언트와 서버 간의 통신에서 이러한 표현이 교환됩니다.
-
무상태 (Stateless): 각 요청은 클라이언트의 상태를 서버에 저장하지 않고, 모든 필요한 정보를 요청 자체에 포함하여 처리합니다. 이러한 상태 전이는 시스템의 확장성과 성능을 향상시킵니다.
-
통일된 인터페이스 (Uniform Interface): RESTful API는 통일된 인터페이스를 가지며, 이를 통해 일관성을 유지합니다. 통일된 인터페이스에는 리소스 식별, 메시지 교환을 위한 표준 연산, 자원의 표현을 위한 하이퍼미디어 등이 포함됩니다.
-
무계층 아키텍처 (Layered System): 클라이언트와 서버 사이에는 계층화된 구조를 가질 수 있습니다. 이는 시스템의 확장성과 유연성을 높이는 데 도움이 됩니다.
-
캐싱 (Caching): 클라이언트는 서버로부터 받은 응답을 캐싱할 수 있습니다. 이는 서버 부하를 감소시키고 네트워크 성능을 향상시킵니다.
RESTful API는 이러한 원칙을 따라 설계되며, 이를 통해 클라이언트와 서버 간의 효율적이고 일관된 통신이 가능해집니다. 대부분의 웹 서비스와 마이크로서비스 아키텍처에서 RESTful API가 널리 사용되고 있습니다.