기록

REST API 란 무엇인가요

whatd0udo 2025. 3. 9. 13:15

REST API 란 무엇인가요

 

*REST API (Representational State Transfer API)**는 클라이언트와 서버 간의 통신을 위해 HTTP를 사용하는 아키텍처 스타일입니다. REST는 특정한 규칙을 따르며, 이를 통해 시스템 간 데이터 교환을 간편하고 효율적으로 처리할 수 있습니다.
REST API는 웹에서 데이터를 송수신할 때 흔히 사용되는 방식으로, 다음과 같은 주요 특징을 가집니다.

REST API의 주요 특징

  1. 무상태성 (Stateless)
    각 요청은 독립적이며 이전 요청의 상태를 저장하지 않습니다.
    클라이언트의 상태는 클라이언트 측에서 유지되며, 서버는 클라이언트의 상태를 추적하지 않습니다.

  2. 클라이언트-서버 구조 (Client-Server Architecture)
    REST는 클라이언트와 서버가 분리되어 동작합니다.
    클라이언트는 사용자 인터페이스와 관련된 작업을 수행하고, 서버는 데이터와 애플리케이션 로직을 처리합니다.
    클라이언트와 서버는 독립적으로 발전할 수 있습니다.


  3. 캐시 가능성 (Cacheable)
    서버에서 제공하는 응답은 캐시할 수 있습니다.
    클라이언트는 응답을 캐시하여 동일한 요청에 대해 빠른 응답을 받을 수 있습니다. 이는 성능을 향상시키는 데 도움을 줍니다.


  4. 일관된 인터페이스 (Uniform Interface)
    REST API는 일관된 방식으로 데이터를 처리하고 응답합니다.
    HTTP 메소드 (GET, POST, PUT, DELETE 등)와 URI (Uniform Resource Identifier)를 이용하여 자원에 접근하고 조작합니다.


  5. 자원 기반 (Resource-Based)
    REST는 "자원"을 중심으로 설계됩니다. 자원은 고유한 URI로 식별되며, 클라이언트는 HTTP 메소드를 사용해 자원을 조회(GET), 생성(POST), 수정(PUT), 삭제(DELETE)할 수 있습니다.


HTTP 메소드와 REST API

REST API는 HTTP 메소드를 사용하여 자원을 처리합니다. 각 메소드는 자원에 대해 특정 작업을 수행합니다.

  • GET: 자원의 조회 (서버에서 데이터 가져오기)
  • POST: 새로운 자원의 생성
  • PUT: 자원의 전체 업데이트
  • PATCH: 자원의 부분적인 업데이트
  • DELETE: 자원의 삭제

REST API의 사용 예시

  1. GET /users: 모든 사용자 정보를 가져옵니다.
  2. GET /users/{id}: 특정 ID를 가진 사용자의 정보를 가져옵니다.
  3. POST /users: 새로운 사용자를 생성합니다.
  4. PUT /users/{id}: 특정 ID를 가진 사용자의 정보를 업데이트합니다.
  5. DELETE /users/{id}: 특정 ID를 가진 사용자를 삭제합니다.

REST API의 장점

  • 단순성: HTTP를 기반으로 하여 이해하기 쉽고, 웹에서 자주 사용되는 프로토콜을 활용합니다.
  • 유연성: REST API는 다양한 형식의 데이터를 주고받을 수 있습니다. (JSON, XML 등)
  • 확장성: 클라이언트와 서버가 독립적으로 동작하기 때문에 시스템을 확장하거나 유지보수하기가 용이합니다.
  • 성능: 캐시를 활용할 수 있어 성능 향상에 도움이 됩니다.

REST API의 단점

  • 무상태성: 클라이언트의 상태를 서버에서 추적하지 않기 때문에, 클라이언트에서 모든 상태 정보를 관리해야 합니다.
  • 복잡한 쿼리 처리: 복잡한 데이터 연산이 필요한 경우, REST API만으로 처리하기 어려울 수 있습니다.

결론

REST API는 웹 애플리케이션에서 클라이언트와 서버 간의 통신을 위한 강력한 방법입니다. 간단하고 일관된 규칙을 따르며, 다양한 시스템 간의 상호운용성을 제공합니다. REST는 확장성이 뛰어나고, 다양한 형식의 데이터 전송이 가능하여 현대 웹 개발에서 필수적인 요소로 자리잡고 있습니다.