SteadyDrills

RESTful API란? 본문

웹개발

RESTful API란?

Drills 2024. 8. 29. 20:56

240829

 

 

RESTful API란?


 

RESTful은 웹 서비스 디자인 아키텍처 스타일 중 하나로, 클라이언트와 서버 간의 상호작용을 HTTP 프로토콜을 통해 정의.
RESTful 아키텍처는 자원을 중심으로 설계되며, 각 자원은 고유한 URI(Uniform Resource Identifier)로 구분됩니다.
이 URI를 통해 자원의 현재 상태를 주고받을 수 있습니다.

 

 

RESTful API의 특징


HTTP 메서드 사용

  • RESTful API는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 HTTP 메서드로 매핑한다..  → 웹의 장점을 가장 잘 살릴 수 있는 아키텍처 스타일이며 요청 형식만 보고도 결과를 추론 가능하다.
    • GET: 자원 조회 
      GET /articles/1   1번 article 조회
    • POST: 자원 생성
      POST /articles/ 새 article 생성
    • PATCH: 자원 부분 업데이트
      PATH /articles/1  1번 article 업데이트
    • DELETE: 자원 삭제
      DELETE /articles/1/   1번 article 삭제

무상태성 (Stateless)

  • 서버는 클라이언트의 상태를 저장하지 않는다. 각 요청은 독립적이며, 필요한 모든 정보를 요청에 포함해야 하고, 이를 통해 서버의 확장성과 유연성이 향상된다.

 

캐시 가능 (Cacheable)

  • RESTful API는 응답을 캐시 할 수 있도록 설계되어 있어, 성능 향상과 서버 부하 감소에 기여한다. 또한 클라이언트는 캐시 된 응답을 재사용할 수 있다.

 

RESTful API의 핵심규칙


 

  • 자원 : URI(Uniform Resource Identifier)로 표현
  • 행위 : HTTP Method로 표현
  • 표현
    • 자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
    • URI는 동사가 아닌 명사의 나열로 사용→ POST /articles/ (O)
    • → POST /articles/create/ (X)
  • 일반적으로 HTTP Method (GET POST PUT DELETE) + PATCH(경로)를 사용함.

 

RESTful API의 핵심규칙을 지켜야하는 이유

로직과 동작에는 영향없지만 자원 중심 설계를 따름으로써 URI의 일관성과 예측 가능성을 높이기 때문이다.