ETC/개발지식

RESTful API 이해

java나유 2022. 11. 10. 13:42

RESTful API

두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스

 

REST

Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처

처음엔 인터넷 같은 복잡한 네트워크에서 통신을 관리하기 위해 지침으로 만들어졌다

REST기반 아키텍처를 사용해 대규모 고성능 통신을 안정적으로 지원할 수 있다

 

API개발자는 여러 아키텍처를 사용해 API를 설계할 수 있다

REST 아키텍처 스타일을 따르는 API를 REST API라고 한다.

REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다.

RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타낸다.

하지만 REST API 와 RESTful API용어는 같은 의미로 사용 할 수 있다.

 

 -REST 아키텍처 스타일

  • 균일한 인터페이스   
  • 무상태
  • 계층화 시스템
  • 캐시 가능성
  • 온디맨드 코드

 

RESTful API 이점

 

확장성

REST API를 구현하는 시스템은 REST가 클라이언트-서버 상호 작용을 최적화하기 때문에 효율적으로 크기 조정할 수 있다. 무상태는 서버가 과거 클라이언트 요청 정보를 유지할 필요가 없기 때문에 서버 로드를 제거한다. 잘 관리된 캐싱은 일부 클라이언트-서버 상호 작용을 부분적으로 또는 완전히 제거한다. 이러한 모든 기능은 성능을 저하시키는 통신 병목 현상을 일으키지 않으면서 확장성을 지원한다.

 

유연성

RESTful 웹 서비스는 완전한 클라이언트-서버 분리를 지원한다. 각 부분이 독립적으로 발전할 수 있도록 다양한 서버 구성 요소를 단순화하고 분리한다. 서버 애플리케이션의 플랫폼 또는 기술 변경은 클라이언트 애플리케이션에 영향을 주지 않는다. 애플리케이션 함수를 계층화하는 기능은 유연성을 더욱 향상시킨다. 예를 들어, 개발자는 애플리케이션 로직을 다시 작성하지 않고도 데이터베이스 계층을 변경할 수 있다.

 

독립성

REST API는 사용되는 기술과 독립적이다. API 설계에 영향을 주지 않고 다양한 프로그래밍 언어로 클라이언트 및 서버 애플리케이션을 모두 작성할 수 있다. 또한 통신에 영향을 주지 않고 양쪽의 기본 기술을 변경할 수 있다.

 

 

참고:https://aws.amazon.com/ko/what-is/restful-api/

 

728x90