REST API

2022. 2. 18. 00:56네트워크, 통신

728x90

REST API란

REST API란 자원의 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미합니다. 즉 자원의 표현에 의한 상태 전달을 말합니다. 구체적으로 말하자면 HTTP URI를 통해 자원을 명시하고 HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미합니다.

자원: 해당 소프트웨어가 관리하는 모든 것 ex) 문서, 그림, 데이터, 소프트웨어 자체 등
자원의 표현: 자원을 표현하기 위한 이름 ex) DB의 학싱 정보가 자원일 때, students를 자원의 표현으로 정합니다.
상태 전달: 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 말합니다.

REST API의 장단점

REST API의 장점

  • HTTP 프로토콜의 인프라를 그대로 사용하기 때문에 REST API 사용을 위한 별도의 인프라를 구축할 필요가 없습니다.
  • REST API 메시지가 의도하는 바를 명확하게 나타내기 때문에 의도하는 바를 쉽게 파악할 수 있습니다.

REST API의 단점

REST API의 구성 요소

자원(URI)

모든 자원에는 고유한 ID가 존재하고 이 자원은 서버에 존재합니다. 자원을 구별하는 ID는 /groups/:group_id와 같은 HTTP URI입니다. 클라이언트는 URI를 통해 자원을 지정하고 해당 자원의 상태에 대한 조작을 서버에 요청합니다.

행위(Http Method)

행위는 Http 프로토콜의 Method를 사용합니다. Http 프로토콜은 GET, POST, PUT, DELETE와 같은 메서드를 제공합니다.

표현

클라이언트가 자우너의 상태에 대한 조작을 요청하면 서버는 이에 적절한 응답을 보냅니다. REST에서 하나의 자원은 JSON, XML, TEXT 등의 여러 형테의 표현으로 나타날 수 있습니다. 일반적으로는 JSON이나 XML을 통해 데이터를 주고 받습니다.

REST API 설계 기본 규칙

URI는 정보의 자원을 표현해야 합니다.

  • 자원은 동사보다는 명사를, 대문자보다는 소문자를 사용합니다.
  • 자원의 도큐먼트 이름으로는 단수 명사를 사용합니다.
  • 자원의 컬렉션 이름으로는 복수 명사를 사용해야 합니다.
  • 자원의 스토어 이름으로는 복수 명사를 사용해아 합니다.

자원에 대한 행위는 Http Method로 표현합니다.

  • URI에 Http Method가 들어가면 안 됩니다.
  • URI 행위에 대한 동사 표현이 들어가면 안 됩니다.
  • 경로 부분 중 변하는 부분은 유일한 값으로 대체합니다.

슬래시 구분자(/)는 계층 관계를 나타내는데 사용합니다.

하이픈(-)은 URI 가독성을 높이는데 사용합니다.

파일 확장자는 URI에 포함하지 않습니다.

728x90

'네트워크, 통신' 카테고리의 다른 글

Http3  (0) 2023.01.12
SSH란  (0) 2022.02.23
L4 스위치 vs L7 스위치  (0) 2021.12.06
API Gateway  (0) 2021.04.20
GSLB  (1) 2021.04.09