Framework/Django

RESTful API

JM Lee 2023. 9. 23. 18:28
728x90

RESTful API란?

 

RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스다. 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 한다. 예를 들어 월간 급여 명세서를 생성하려면 인보이스 발행을 자동화하고 내부의 근무 시간 기록 애플리케이션과 통신하기 위해 내부 계정 시스템이 데이터를 고객의 뱅킹 시스템과 공유해야 한다. RESTful API는 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이러한 정보 교환을 지원한다.

 

REST란?

 

Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌다. REST 기반 아키텍처를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있다.

API 개발자는 여러 아키텍처를 사용하여 API를 설계할 수 있다. REST 아키텍처 스타일을 따르는 API를 REST API라고 한다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타낸다. 하지만 REST API와 RESTful API라는 용어는 같은 의미로 사용할 수 있다.

 

다음은 REST 아키텍쳐 스타일의 특징이다.

 

  1. Stateless: 각 요청이 이전 요청과 독립적으로 처리된다. 서버는 요청 사이의 컨텍스트 정보를 저장하지 않습니다.
  2. Client-Server Architecture: 클라이언트와 서버는 서로 분리되어 있으며, 각각의 역할에 집중할 수 있습니다. 클라이언트는 사용자 인터페이스를 관리하고 서버는 데이터 및 로직을 처리한다.
  3. Cacheable: 클라이언트는 응답을 캐시할 수 있으므로 성능과 효율성이 향상된다.
  4. Layered System: 시스템은 다양한 계층으로 구성되어 있으며, 각 계층은 분리되어 기능을 수행하고 독립적으로 진화할 수 있다.
  5. Code on Demand (옵션): 서버는 클라이언트에 실행 가능한 코드를 전송하여 기능을 확장할 수 있다.
  6. Uniform Interface: 일관된 인터페이스를 통해 자원을 조작하고 액세스 할 수 있으므로 개발자가 API를 쉽게 이해할 수 있다.