REST API란?
- Representational State Transfer
- 자원(resources)의 상태(data)를 표현(representation, 고유한 HTTP URI 부여)으로 구분하여 주고받는 것.
- 월드 와이드 웹(www)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍쳐의 한 형식
- 기존 웹 기술, HTTP를 그대로 사용
- HTTP 표준을 따르는 모든 플랫폼에서 사용 가능
- HTTP Method(POST, GET, PUT, DELETE)를 통해 자원에 대한 CRUD Operation 을 적용.
참고
RESTful 이라는 단어는 REST 원리를 따르는 시스템을 "RESTful하다" 라고 표현하는 용어일 뿐이다.
REST API 특징
- Server - Client 구조
- Stateless(무상태)
- HTTP의 Stateless 특징을 그대로 가짐
- Client의 어떠한 context도 Server에 저장하지 않음
- Server는 각각의 요청을 완전히 별개로 인식함.
- Caheable(캐시 처리 가능)
- HTTP의 Cacheable 특징을 그대로 가짐
- Last-Modified Tag, E-Tag 를 이용하여 캐싱 구현 가능
- 계층화
- Client는 REST API Server만 호출하면 된다.
- REST API Server는 순수 비즈니스 로직만 수행하고, 그 앞단에 보안, 로드밸런싱, 암호화, 사용자 인증 등을 추가하여 유연한 구조를 가질 수 있다.
- Proxy, Gateway 같은 네트워크 기반 중간매체를 사용할 수 있다.
REST API 설계 가이드
https://sanghaklee.tistory.com/57
RESTful API 설계 가이드
1. RESTful API 설계 가이드 본 문서는 REST API를 좀 더 RESTful 하게 설계하도록 가이드할 목적으로 만들어졌다. 따라서, 기본적인 REST API 개념 설명은 아래의 링크로 대신한다. REST API 제대로 알고 사용
sanghaklee.tistory.com
참조
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
'잡학사전' 카테고리의 다른 글
HTTP (0) | 2022.12.22 |
---|---|
URL 구성 (0) | 2022.12.22 |
HTTP 상태코드 간단 정리 (0) | 2022.12.21 |
Web Service Architecture (0) | 2022.12.21 |
어떻게 소프트웨어 개발 프레임워크를 선택하는가? (0) | 2022.12.19 |