memostack
article thumbnail
Published 2020. 9. 8. 22:06
RESTful API 개념 정리 Frontend
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

RESTful API

- REST(Representational State Transfer)는 자원을 주소로 지정하여, 자원을 주고받는 것

- RESTful API는 REST 규칙들을 지켜서, REST 기반의 API를 뜻한다.

- REST의 6가지 기본원칙을 성실히 지킨 서비스의 API를 보고 'RESTful 하다' 라고 표현할 수 있다.

 

REST의 구성요소

- 자원(Resource): URI

- 행위(Verb): HTTP Method (GET, POST, PUT, DELETE 등)

- 표현(Representations)

 

REST 사용 예시

 

 

REST 6가지 원칙

1. Uniform Interface (유니폼 인터페이스)

- HTTP 표준을 따르는 환경이라면, 언어 및 플랫폼에 상관없이 어디서든 사용할 수 있는 인터페이스 스타일

 

Uniform Interface

 

 

2. Stateless (무상태성)

- REST는 무상태성 성격을 가지며, 상태정보를 따로 저장하고 관리하지 않음

- 세션 정보나 쿠키 정보를 별도로 저장하지 않기 때문에, API 서버는 단순히 들어오느 요청만 처리하면 된다.

- 서버에서 불필요한 정보를 관리하지 않음으로써 구현이 단순해진다.

 

3. Cacheable (캐시 가능)

- HTTP의 기존 웹 표준을 그대로 사용하기 때문에, HTTP가 가진 캐싱 기능을 사용할 수 있다.

 

4. Self-descriptiveness (자체 표현 구조)

- REST API 메시지만 보고도 쉽게 이해 할 수 있는 '자체 표현 구조'로 되어 있다.

 

5. Client - Server 구조

- 자원이 있는쪽이 Server (API 제공하는 쪽), 자원을 받는 곳이 Client (API를 호출하는 쪽)

- 서버와 클라이언트로 각각의 역할이 확실히 구분되어, 개발해야 할 내용도 명확해진다. 서로간의 의존성 또한 줄어든다.

 

server-client

 

6. 계층형 구조

- REST 서버는 보안, 로드 밸런싱, 암호화 계층을 추가해 다중 계층으로 구성할 수 있음

- 또한, PROXY, 게이트웨이 같은 네트워크 기반의 중간 매체를 사용할 수 있음

 

Reference

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!