[Web] REST과 URI 설계원칙에 대한 이해

node·2023년 12월 14일
0

이해 시리즈

목록 보기
7/11

들어가며


API는 알겠는데, API를 만들때 RESTful하게 만들면 REST API라고?
그럼 REST가 무엇을 뜻하는 지 알아보려고 한다

본론


REST(REpresentational State Transfer)

: REST는 프로토콜이나 표준이 아닌 아키텍쳐 제약 조건으로 아래의 조건들을 만족시켜 설계되었다면 RESTful한 설계라고 칭할 수 있다.

  1. Client-Server: 클라이언트와 서버가 서로 독립적으로 분리되어 있어야 한다.
    -> 같은 서버 내에서 데이터를 주고 받는 것은 REST한 설계가 아니다.

  2. Stateless: 요청에 대한 클라이언트의 상태를 서버에 저장하지 않는다.
    -> 클라이언트가 이전에 요청한 내용에 상관없이 서버는 동일한 응답을 해야한다.

  3. Cache: 클라이언트는 서버의 응답을 캐시를 통해 재사용 할 수 있어야 한다.
    -> 서버에 과도한 요청을 방지하기 위해 지정되었지만, 서버의 성능에 따라 Cacheless로 운영할 수도 있다.

  4. Layered System: 서버와 클라이언트 사이에 방화벽, 게이트웨이, 프록시 등 다계층 형태를 구성할 수 있어야 하며, 확장 할 수 있어야 한다.

  5. Uniform Interface: 일관된 인터페이스를 제공하며, 클라이언트와 서버가 독립적으로 개선될 수 있어야 함.

URI 설계원칙(RFC-3936)

결론


  • REST API란 REST 조건을 맞추어 설계된 API를 뜻한다.
  • URI를 설계할 때도 다양한 원칙이 존재한다.
profile
NOvice + DEveloper

0개의 댓글