2021. 7. 28. 14:55ㆍ컴퓨터과학
REST(REpresentational State Tranfer)
월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식.
REST는 “웹에 존재하는 모든 자원에 고유한 URI를 부여해 활용” 한다.
- 프론트앤드/ 백앤드가 데이터를 요청하고 응답할 때 인터페이스로써 쓰이는 구조.
- 자원을 정의하고 그 자원에 대한 주소를 지정하는 방법론.
- HTTP URI로 자원을 명시하고, HTTP Method로 CRUD Operation을 적용한다.
CRUD기능 | HTTP Method |
Create | POST |
Read | GET |
Update | PATCH, PUT |
Delete | DELETE |
REST 구성요소
요청 예시) HTTP에서 ‘Students/1’ 같은 HTTP URI로 사용된다.
REST 의 특징
- 클라이언트 / 서버 구조 (Client-Server)
자원이 있는 Server , 자원을 요청하는 Client의 구조를 가진다.
- 무상태 (Stateless)
HTTP는 Stateless 프로토콜 이므로 REST 역시 무상태성을 가진다. 클라이언트의 Context 를 서버에 저장하지 않는다.
- 캐시 처리 가능 (Cachealble)
웹 표준 HTTP 프로토콜을 그대로 사용하므로 , 웹에서 사용하는 기존의 인프라를 그대로 활용 가능하다.
- 계층화
API 서버는 순수 비즈니스 로직을 수행하고 그 앞단에 사용자 인증 , 암호화 , 로드밸런싱 등을 하는 계층을 추가하여 구조상의 유연성을 줄 수 있다.
REST의 장단점
- 쉬운 사용
HTTP 프로토콜 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없다.
- 메소드의 한계
REST는 HTTP 메소드를 이용하여 URI를 표현한다. 이러한 표현은 쉬운 사용이 가능하다는 장점이 있지만 반대로 메소드 형태가 제한적인 단점이 있다.
- 표준이 없음
REST는 설계 가이드 일 뿐이지 표준이 아니다. 명확한 표준이 없다.
웹의 모든 자원을 URI로 표현하는 것입니다.
클라이언트와 서버간에 자원을 요청하고 응답하는 과정에서의 아키텍쳐이고,
클라이언트에서 자원상태를 다루기 위해 HTTP메소드가 제공되고 CRUD기능을 수행하게 됩니다.
URI로 자원 상태 메소드를 드러내고 실제 데이터는 body에 JSON등의 형태로 표현됩니다.
'컴퓨터과학' 카테고리의 다른 글
[Spring Framework 특성 살피기] PSA에 대한 이해 (0) | 2021.08.03 |
---|---|
[Spring Framework 특성 살피기] IoC에 대한 이해 (0) | 2021.08.02 |
[SQL기초개념]Statement vs preparedStatement (0) | 2021.06.09 |
[JAVA개념공부]Collection Framework, Map메소드 사용법 (0) | 2021.05.30 |
[JAVA개념공부]has-a 관계, Generic타입 (0) | 2021.05.27 |