REST는 Representational State Transfer라는 용어의 약자로서
웹의 장점을 최대한 활용할 수 있는 아키텍처
***
1. Uniform (유니폼 인터페이스)
------------------------------
Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고
한정적인 인터페이스로 수행하는 아키텍처 스타일
***
2. Stateless (무상태성)
------------------------------
a.상태가 있다 없다는 의미는 사용자나 클라이언트의 컨택스트를
서버쪽에 유지 하지 않는다는 의미한다.
b.세션이나 쿠키등을 별도로 관리하지 않기 때문에 API서버는 요청만을
들어오는 메시지로만 처리하기 때문에 구현이 단순하다.
***
3.Cacheable (캐시 처리 기능)
----------------------------
a.REST의 가장 큰 특징 중 하나는 HTTP라는 기존 웹표준을 그대로 사용한다.
b.HTTP가 가진 캐싱 기능이 적용 가능하다. HTTP 프로토콜 표준에서 사용하는
Last-Modified태그나 E-Tag를 이용하면 캐싱 구현이 가능하다.
***
4. Self-descriptiveness (자체 표현 구조)
---------------------------------------
a.REST의 또 다른 큰 특징 중 하나는 REST API 메시지만 보고도 이를
쉽게 이해 할 수 있는 자체 표현 구조로 되어 있다는 것
***
5. Client - Server Architecture (클라이언트 - 서버 구조)
-------------------------------------------------------
a.REST 서버는 API를 제공하고, 제공된 API를 이용해서 비즈니스 로직 처리 및 저장을 책임진다.
b.클라이언트의 경우 사용자 인증이나 컨택스트(세션,로그인 정보)등을 직접 관리하고 책임진다.
c.서로간의 의존성이 줄어들게 된다.
***
6. 계층형 구조
---------------
a. 클라이언트 입장에서는 REST API 서버만 호출한다.
b. REST 서버는 다중 계층으로 구성될 수 있다.
ex) 보안, 로드 밸런싱, 암호화, 사용자 인증 등등 추가 구조상 유연성 줄 수 있다.
'IT' 카테고리의 다른 글
앵귤러 간단 정리 (0) | 2019.08.20 |
---|---|
OOP, 객체 지향 프로그래밍(Object-Oriented Programming) (0) | 2019.01.08 |
자바에서 sql 쓸수있는 종류와 장단점 (0) | 2018.12.17 |
디자인 패턴 (0) | 2018.12.17 |
빅오 빅세타 빅오메가, 시간복잡도, 공간복잡도에 대해 정리 (0) | 2018.12.17 |