카테고리 없음

위클리페이퍼 (RESTful API)

손냥로 2025. 9. 22. 09:08

RESTful API는 Representational State Transfer의 줄임말로, 클라이언트와 서버가 웹 표준인 HTTP와 URL을 이용해 정보를 주고받는 방식입니다. 쉽게 말해, 웹의 기본 기술만으로도 다양한 시스템이 서로 정보를 주고받을 수 있게 도와주는 설계 스타일입니다.

REST에서는 몇 가지 중요한 규칙(제약 조건)을 따릅니다:

  1. 클라이언트-서버 구조
  2. 클라이언트(사용자 측)와 서버(데이터 제공 측)의 역할이 분리됩니다. 이렇게 분리함으로써 서로 독립적으로 개발하고 유지보수할 수 있습니다.
  3. Stateless (상태 비저장성)
  4. 서버는 클라이언트의 이전 요청 상태를 기억하지 않습니다. 매번 독립적인 요청으로 처리하기 때문에 서버가 훨씬 단순해지고, 확장하기도 쉬워집니다.
  5. 캐시 처리 가능
  6. 서버의 응답이 캐시 가능해야 합니다. 불필요한 요청을 줄이고 응답 속도를 빠르게 하는 데 도움이 됩니다.
  7. 일관된 인터페이스 (Uniform Interface)
  8. REST의 핵심입니다. API가 일관된 규칙을 따르기 때문에, 서로 다른 클라이언트(, 앱 등)에서도 동일한 방식으로 서버와 통신할 수 있습니다. 주로 자원의 식별(URL), 자원 조작(HTTP 메서드), 메시지 포맷(보통 JSON), 하이퍼미디어 등이 여기에 포함됩니다.
  9. Layered System (계층화된 시스템)
  10. 클라이언트는 요청을 처리하는 서버가 직접 처리하는지, 중간 서버(프록시, 로드밸런서 등)를 거치는지 알 필요가 없습니다. 이 덕분에 보안, 캐싱, 로드밸런싱 같은 기능을 유연하게 추가할 수 있습니다.
  11. Code on Demand (옵션)
  12. 필요할 경우, 서버가 클라이언트에 코드를 내려보내서 실행할 수도 있습니다. 예를 들어, JavaScript 코드를 전송해 동적으로 동작하게 만드는 경우입니다. 다만, 실제로는 잘 쓰이지 않는 옵션입니다.

 

이런 특징 덕분에 RESTful API는 간단하고 직관적인 웹 서비스를 만드는 데 널리 쓰이고 있습니다. 개발자는 효율적으로 API를 설계할 수 있고, 사용자(클라이언트)는 다양한 환경에서 일관된 방식으로 데이터를 사용할 수 있습니다.