REST API(Representational State Transfer Application 프로그래밍 인터페이스)는 REST 아키텍처 스타일의 원칙을 준수하는 API 유형입니다. REST는 인터넷과 같은 네트워크를 통해 두 시스템(일반적으로 클라이언트와 서버) 간의 데이터 표현 및 통신을 위한 모델입니다. REST API는 내부 애플리케이션과 타사 애플리케이션 간의 정보 교환을 지원하도록 설계되어 기업이 여러 엔드포인트를 애플리케이션 생태계에 통합할 수 있도록 해줍니다.
REST 아키텍처 스타일은 단순성, 확장성 및 상태 비저장을 강조하는 일련의 제약 조건을 기반으로 합니다. RESTful 시스템에서 데이터는 리소스로 표시되며 각 리소스는 고유한 URI(Uniform Resource Identifier)로 식별됩니다. 클라이언트는 GET, POST, PUT 및 DELETE와 같은 표준 HTTP 메서드를 사용하여 이러한 리소스와 상호 작용합니다. 이러한 상호 작용은 상태 비저장입니다. 즉, 클라이언트에서 서버로의 각 요청에는 서버에 저장된 컨텍스트에 의존하지 않고 서버가 요청을 이행하는 데 필요한 모든 정보가 포함되어야 합니다.
REST API는 단순성과 HTTP의 편재성으로 인해 웹 개발에 널리 사용됩니다. 다양한 서비스와 시스템을 쉽게 통합할 수 있으므로 확장 가능하고 유지 관리가 가능한 웹 애플리케이션을 구축하는 데 널리 사용됩니다. RESTful API는 데이터 교환을 위해 JSON(JavaScript Object Notation) 또는 XML(Extensible Markup Language)과 함께 사용되는 경우가 많으며, 리소스 상태를 나타내기 위해 사람이 읽을 수 있고 기계가 구문 분석할 수 있는 형식을 제공합니다.
"REST API"가 일반적으로 사용되지만 기술적으로 더 정확한 용어는 REST 아키텍처 스타일을 준수하는 API를 나타내는 "RESTful API"라는 점을 기억하는 것이 중요합니다. 그러나 두 용어 모두 실제로는 같은 의미로 사용됩니다.
요약하자면, REST API는 REST 아키텍처 스타일의 원칙에 따라 인터넷을 통해 서로 다른 시스템 간에 효율적이고 표준화된 데이터 교환을 허용하는 널리 채택된 인터페이스입니다. 이는 현대 소프트웨어 개발에서 상호 운용성과 통합을 가능하게 하는 데 중요한 역할을 합니다.