Header

  1. View current page

    openmaru development documentation

Profile_img_60x60_06
13 15

REST

REST는 REpresentational State Transfer의 약자로, 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍쳐 스타일입니다.

 

  • 애플리케이션 상태와 기능은 리소스(resource) 단위로 나누어집니다.
  • 모든 리소스는 하이퍼미디어에 있어 유니버설 신택스(universal syntax)를 써서 유일하게 이름지어 집니다.
  • 모든 리소스는 유니버설 인터베이스(universal interface)를 통해 클라이언트와 상태를 송수신합니다.

    • 유니버설 인터페이스는 오퍼레이션과 (부가적으로 code-on-demand를 지원하는) 컨텐트 타입의 집합입니다.
  • 프로토콜은

    • 클라언트/서버
    • 무상태
    • 캐쉬가능
    • 레이어됨

     

사실 REST는 웹을 반드시 요구하지는 않습니다. 오히려, 웹은 REST 아키텍쳐의 가장 중요한 실제 예입니다. 웹은 HTTP, HTML, DNS로 이루어져 있어, 위에서 설명한  REST의 주요 요소를 충족합니다.

 

  • HTML안의 JavaScript는 code-on-demand 역할을 합니다.
  • HTTP의 범용 인터페이스(universal interface)는 URI, method, status code, header, content type (MIME)으로 구성됩니다.

    • 특히 리소스에 대한 CRUD(Create, Retrieve, Update, Delete)가 HTTP method의 POST, GET, PUT, DELETE와 일대일 대응합니다.
  • HTTP의 범용 문법(universal syntax)는 URL(통상 http://xx ) 입니다.

 

 

 

History

Last edited on 10/28/2008 15:03 by deepblue

Comments (0)

You must log in to leave a comment. Please sign in.