즉, 자원의 표현에 의한 상태 전달
: 자원의 표현
- 자원 : 해당 소프트웨어가 관리하는 모든 것
자원의 표현 : 그 자원을 표현하기 위한 이름
: 상태(정보) 전달
- 데이터가 요청되어지는 시점에 자원의 상태(정보)를 전달
JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다.
기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐 스타일이다.
네트워크 상에서 Client 와 Server 사이의 통신 방식 중 하나이다.
REST 개념
HTTP URI를 통해 자원을 명시하고, HTTP Method(POST, GET, PU DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
- 즉 REST는 자원 기반의 구조 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.
웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 ID인 HTTP URI를 부여한다.
REST API
REST API란
API : 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것
REST API : REST API는 결국 REST를 기반으로 서비스 API를 구현한 것이다. 특정 기술, 예를 들어 네이버 지도의 API를 사용하고 싶다면 이때 REST를 이용해 사용하는 것이 REST API다. URI 형식으로 HTTP 메서드(GET, POST, PUT, DELETE)를 요청해 자원을 조회, 생성, 수정, 삭제할 수 있는 것이 REST API인 것이다.
RESTful ?
RESTful 하다는 것은 일반적으로 REST 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다. REST API를 제공하는 웹 서비스를 RESTful 하다고 할 수 있다. REST는 공식적인 내용이 없다. REST원리를 따르는 시스템은 모두 RESTful 하다고 할 수 있는 것이다.