반응형
정의
- Representational State Transfer의 약자
- 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든것을 의미
- 자원(resource)의 표현(representation)에 의한 상태 전달
- 자원: 해당 소프트웨어가 관리하는 모든 것
- ex) 문서, 그림, 데이터 등
- 자원의 표현:
- ex) paper, figure, data etc...
- Rest는 Http를 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일
개념
- HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation(Create, Read, Update, Delete)을 적용하는 것을 의미
- 즉, Rest는 자원을 HTTP Method를 통해 처리하도록 설계된 자원 기반의 아키텍쳐이다.
장점
- HTTP인프라를 그대로 이용하므로 새로 구축할 필요가 없음
- Hypermedia API의 기본을 충실히 지키면서 범용성 보장
- 메시지가 의도하는 바를 명확하게 나타냄
단점
- 표준이 없음
- 사용 가능한 메소드가 4종류 뿐(HTTP Method)
REST가 필요한 이유
- ‘애플리케이션 분리 및 통합’
- ‘다양한 클라이언트의 등장’
- 최근의 서버 프로그램은 다양한 브라우저와 안드로이폰, 아이폰과 같은 모바일 디바이스에서도 통신을 할 수 있어야 한다.
- 이러한 멀티 플랫폼에 대한 지원을 위해 서비스 자원에 대한 아키텍처를 세우고 이용하는 방법을 모색한 결과, REST에 관심을 가지게 되었다.
출처:https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
반응형