Skip to content

Representational State Transfer

REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었다. 그는 하이퍼텍스트 전송 프로토콜(HTTP)의 주요 저자들 가운데 한 사람이다. 그 뒤로 이 개념은 네트워킹 문화에 널리 퍼졌다.

엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다. 여기서 네트워크 아키텍처 원리란 리소스를 정의하고 리소스에 대한 주소를 지정하는 방법에 대한 개괄을 말한다. 간단한 의미로는, 도메인 지향 데이터를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 부가적인 전송 레이어 없이, 전송하기 위한 아주 간단한 인터페이스를 말한다. 이 두 가지의 의미는 당연히 겹치는 부분과 충돌되는 부분이 있다. 필딩의 REST 아키텍처 형식을 따르면 HTTP 프로토콜을 사용하지 않은 채로 또 월드 와이드 웹에서 전송하지 않고도 아주 커다란 소프트웨어 시스템을 설계하는 것도 가능하다. 또한, 리모트 프로시저 콜을 이용하는 대신에 간단한 XML과 HTTP 인터페이스(REST 원리에 부합하지는 않지만)를 이용해 설계하는 것도 가능하다. 현실 세계에서의 REST 용어에 대한 이러한 두 가지 의미는 기술 토론에서 종종 혼란을 야기한다.

필딩의 REST 원리를 따르는 시스템은 종종 RESTful이란 용어로 지칭된다. 열정적인 REST 옹호자들은 스스로를 RESTafrians 이라고 부른다.

REST란 인터넷의 정보를 조직화하고 전송하는 규칙의 조합

Categories

Application architecture

Front-end(RESTful)와 Web Application 연결 관계도 샘플:

Devnexus2014-application_architecture.png

RESTful API Documentation Software

Softwares

API Generation

  • Integuru - 내부 API를 리버스 엔지니어링 해서 외부용 통합 코드를 생성하는 AI에이전트
  • ROAPI - 코드 한줄 없이 정적 데이터셋용 API 생성.

See also

Favorite site

About RESTful

bcho.tistory.com REST 관련 기사

Guide

Sample & Reference sites

References


  1. Spoqa_Tech_Blog-REST_good_tip.pdf 

  2. Meetup_TOAST_Cloud_-_Knowing_and_using_the_REST_API.pdf 

  3. Bcho_tistory-rest_api_design_guide.pdf 

  4. Bcho_tistory-understanding_and_design_01-introduce.pdf 

  5. Bcho_tistory-understanding_and_design_02-api_design.pdf 

  6. Bcho_tistory-understanding_and_design_03-security.pdf