Web

REST, RESTful, REST API

JUNGKEUNG 2021. 5. 29. 17:22

REST(REpresentational State Transfer) 란? 


아키텍쳐 스타일의 제약 조건을 모두 만족하는 시스템 

 

REpresentational 표현

State                상태

Transfer             전달

자원의 표현을 가지고 상태 전달

 

자원의 표현 - HTTP URI  // 상태 전달 = HTTP Method

 

클라이언트 <--->서버의 통신 방식

 

URI와 HTTP를 이용한. 통신 목적의 아키텍처 스타일(유형)

 

URI( Uniform Resource Identifier) : 문서, 그림, 영상 등의 자원 식별용 이름(경로) 

 

HTTP Method 종류

1. Get : 정보를 요청하기 위해 사용 (Read)

2. Post : 정보를 입력하기 위해 사용 (Create)

3. Put : 정보를 업데이트하기 위해 사용 (Update)

4. DELETE : 정보를 삭제하기 위해 사용 (Delete) 

 

아키텍처 스타일: 아키텍처(구조)의 종류(유형,스타일,타입)

 

RESTful : REST가 적용된 시스템

 

REST API :  REST가 저용된 API

 

REST API를 제공하는 시스템은 RESTful이다

 

 정확한 표현된 REST라는 개념은 다음 7가지 조건을 만족해야 한다.

 

0. 일관된 인터페이스 (Uniform interface)


- URI사용, HTTP 메소드 사용, RPC 미호출 등의 지정된 인터페이스를 준수한다.

RPC(Romote Procedure Call) : 빌드의 원격 제어를 위한 코딩 없이 주소 공간에서 함수나 프로시저를

실행할 수 있게하는 프로세스간 통신 기술

 

 

 

1. 클라이언트/서버 (Client-Server)


클라이언트는 서버에 요청(request) 메시지를 전송하고

서버는 요청에 대한 응답(response) 메시지를 전송한다.

 

 

 

2. 비연결성(Stateless)


무상태성이라고도 합니다. 세션 등 이전 상황(문맥) 없어도 통신할 수 있다.

 

 

 

3. 캐시 기능(Cache)


-캐쉬를 사용하게 되면 서버의 응답 메시지는 캐싱(저장 후 재사용) 될 수 있다.

 

 

 

4. 계층화된 시스템(Layered system)


계층별로 기능이 분리 된다.

 

 

 

5. Layered System


클라이언트는 직접 최종서버에 붙었는지 등을 알수 없습니다. intermediary 서버 등을

로드밸런싱/공유 캐시등을 통해 확장성과 보안성을 향상 가능 합니다.

 

 

 

6. 주문형 코드(code on demand) (선택)


손쉬운 데이터 처리를 위해 서버는 클라이언트에서 실행될 스크립트를 전송할 수 있다.

 

 

 

정리


1. REST는 아키텍쳐 스타일의 제약 조건을 모두 만족하는 시스템 

 

2. REST 아키텍쳐는 여러 개의 제약 조건을 가지고 있다.

 

3. Restful은 위의 제약 조건들을 모두 만족시켜야 한다.

'Web' 카테고리의 다른 글

URI, URL, URN 이란?  (0) 2021.06.18
쿠키 세션 그리고 캐시  (0) 2021.05.31
OSI 7계층  (0) 2021.05.30
URL 입력 시 웹 페이지까지 노출되는 동작 원리  (0) 2021.05.28
was 와 WebServer 차이  (0) 2021.05.21