Spring/+ α

RESTful API 기초 - 의미, 장점, 응답/요청 형식

y-seo 2023. 11. 22. 11:54

RESTful API 의미

 

API 기초 - API 의미, API 종류(WebSokcet, REST, Web), API 유형

API 란 ? Application Programming Interface Application Programming을 위한 Interface 주로 클라이언트와 서버가 서로 통신할 수 있게 하는 메커니즘이다. 개발자가 하는 요청과 받고 싶은 응답을 구성하는 방법에

y-seo.tistory.com

 

REST의 

  • 균일한 인터페이스를 제공한다.
    • 균일한 리소스 식별자를 사용한다.
    • 클라이언트가 원할 때 리소스를 수정하거나 삭제할 수 있어야 한다. 이를 위해 서버가 리소스와 사용 방법을 자세하게 설명하는 메타데이터를 전송한다.
    • 클라이언트는 다른 관련 리소스에 대한 정보를 받아야 한다. 이를 위해 서버가 표현에 하이퍼링크를 넣어 전송한다.
  • 무상태이므로 서버가 이전의 요청과 독립적으로 클라이언트의 요청을 완료한다.
  • 계층화 시스템을 제공한다.
    • 서버와 클라이언트가 아닌, 다른 중개자와도 연결될 수 있고 다른 서버와 연결될 수도 있다.
    • 계층은 클라이언트로부터는 숨긴다.
  • 캐시 가능 또는 불가능을 지정할 수 있다.
    • 클라이언트의 일부 응답을 저장한다.
    • 중복되고 자주 등장하는 데이터를 미리 캐싱해두고 다음 요청 때 캐시에서 직접 데이터를 내보낸다.
  • 클라이언트 기능을 일시적으로 확장하거나 지정할 수 있다.

 

RESTful API의 장점

  • 확장성이 좋다.
    • 무상태 특징으로 인해 클라이언트 요청 정보를 가지고 있지 않다.
    • 캐싱을 제거하기도 한다.
    • 병목 현상을 막는다.
  • 유연성이 좋다.
    • 클라이언트와 서버를 완전히 분리한다.
    • 독립적으로 기능을 변경할 수 있다.
  • 독립성이 있다.
    • 사용되는 기술과 독립적이라 API 설계에 영향을 주지 않는다.

 

RESTful API의 작동 과정

  1. 클라이언트가 서버에게 API 문서에 따라 요청을 전송한다.
  2. 서버가 클라이언트를 인증하고 권한을 확인한다.
  3. 서버가 요청을 수용하여 비즈니스 로직을 실행한다.
  4. 서버가 클라이언트에게 응답을 반환한다.

 

RESTful API 에서 클라이언트 요청의 형식

  • 식별자
  • Method
  • GET
  • POST
  • PUT
  • DELETE
  • HTTP 헤더 : Data, Parameter

 

RESTful API 에서 서버 응답의 형식

  • 상태 표시줄 (200, 201, 400, 404 등)
  • 메세지 본문
  • 헤더