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 6가지 원칙
1. Uniform Interface (유니폼 인터페이스)
- HTTP 표준을 따르는 환경이라면, 언어 및 플랫폼에 상관없이 어디서든 사용할 수 있는 인터페이스 스타일
2. Stateless (무상태성)
- REST는 무상태성 성격을 가지며, 상태정보를 따로 저장하고 관리하지 않음
- 세션 정보나 쿠키 정보를 별도로 저장하지 않기 때문에, API 서버는 단순히 들어오느 요청만 처리하면 된다.
- 서버에서 불필요한 정보를 관리하지 않음으로써 구현이 단순해진다.
3. Cacheable (캐시 가능)
- HTTP의 기존 웹 표준을 그대로 사용하기 때문에, HTTP가 가진 캐싱 기능을 사용할 수 있다.
4. Self-descriptiveness (자체 표현 구조)
- REST API 메시지만 보고도 쉽게 이해 할 수 있는 '자체 표현 구조'로 되어 있다.
5. Client - Server 구조
- 자원이 있는쪽이 Server (API 제공하는 쪽), 자원을 받는 곳이 Client (API를 호출하는 쪽)
- 서버와 클라이언트로 각각의 역할이 확실히 구분되어, 개발해야 할 내용도 명확해진다. 서로간의 의존성 또한 줄어든다.
6. 계층형 구조
- REST 서버는 보안, 로드 밸런싱, 암호화 계층을 추가해 다중 계층으로 구성할 수 있음
- 또한, PROXY, 게이트웨이 같은 네트워크 기반의 중간 매체를 사용할 수 있음
Reference
'Frontend' 카테고리의 다른 글
이미지 포맷 종류(jpg, jpeg, png, gif, svg) (0) | 2021.12.16 |
---|---|
세션(Session)과 쿠키(Cookie🍪) (0) | 2021.03.25 |
[오류 해결] $.ajax is not a function 해결 방법 (5) | 2020.12.14 |
REST API와 GET, POST, PUT, DELETE 통신에 대해 (2) | 2020.12.11 |
SPA (Single Page Application) 이란 무엇인가? (0) | 2020.05.14 |