RESTful API

꽃봉우리·2024년 5월 29일

RESTful API

  • Representational State Tranfer 약자
  • HTTP 프로토콜을 기반으로 하는 웹 서비스를 위한 API

특징

  • 무상태성 : 서버는 클라이언트의 상태를 관리 X -> 서비스의 확장성과 레거시와의 상호 운용성 향상

  • 캐시 : 클라이언트는 서버로부터 받은 응답을 캐시할 수 O -> 불필요한 데이터 전송을 줄임

  • 유니폼 인터페이스 : 인터페이스는 일관성 있게 설계되어 리소스의 식별, 조작 및 표현을 동일화 -> 개발과 이해가 쉬워짐

  • 행위 : HTTP Method를 이용해 자원에 대한 행위 정의

장점

  • 확장성 : 서버와 클라이언트 사이의 인터페이스가 명확하여 서로간의 의존성 낮음
  • 재사용성 : HTTP 프로토콜을 사용하기 때문에 기존 웹 인프라를 그대로 이용
  • 유지보수 용이성 : 각각의 자원에 대한 명확한 URI 사용으로 쉽게 이해 가능
  • 캐시 기능 : 서버 측의 부하 분산 가능
  • 보안성 : 플랫폼에 독립적

단점

  • HTTP 프로토콜에 의존
  • URI 설계가 복잡
  • 상태 정보가 클라이언트 서버 간에 전송 O
  • 필요한 문서화와 테스트 등의 추가 작업 필요

0개의 댓글