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 |