아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • Linux
  • 여행
  • Android
  • 자바
  • C
  • 해킨토시
  • TRPG
  • 전라도
  • 정읍
  • 아이폰
  • 던젼 앤 드래곤즈
  • jsp
  • 안드로이드
  • Dungeons & Dragons
  • Ruby on Rails
  • CSS
  • Java
  • javascript
  • mysql
  • Python

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Devlopment/정리 글

REST

2008. 7. 9. 08:58
반응형

REST(Representational State Transfer)

  • REST란 대규모 네트워크 시스템을 위한 아키텍처
  • 2000년 Roy Fielding의 박사 학위 논문에서 처음 제안
    http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm



REST 방식
웹상이 모든 것들은 URL로 표현 (Representation)

1. 잘 정의된 URL을 통해 웹 애플릿케이션을 구동
2. 그 결과(State)를 전달(Transfer)받아 처리

Representational State Transfer은 잘 디자인된 웹 어플리케이션이 어떻게 동작하는 지에 대한 이미지를 떠올리게 하가 위한 용어이다. 웹 페이지들의 네트워크가 있고 사용자가 링크를 선택하면 다음 페이지가 보여진다. 즉 웹을 Virtual State Machine이라고 생각하면 링크를 선택함으로써 State가 변하고 Next State Representation(다음 페이지)가 보여지게 된다


REST 특징
REST는 웹이 성공을 이룰 수 있었던 것은 다음과 같은 특징을 가졌기 때문이라고 주장

1. 상태를 유지하지 않는 클라이언트/서버 구조를 가진다.
2. 작고 어디에서나 적용되는 인터페이스를 가진다. (e.g., GET, POST, PUT, DELETE)
3. 모든 자원은 URI를 이용하여 유일하게 지칭될 수 있다.
4. 자원들의 표현(Representation)들이 URI을 통해 서로 연결되어 있다.
  • REST의 원칙에는 쿠키나 세션을 사용하지 않는다.
  • PUT과 Delete 메소드는 HTTP스펙에는 존재하지만 지원하는 브라우저는 많지 않다.



REST VS SOAP
2003년도 아마존이 SOAP과 REST 두 가지 방식의 인터페이스를 제공. REST가 압도적으로 우세.

REST (XML over HTTP) 85%     VS     SOAP 15%

구글의 유서깊은 SOAP 기반 검색 API가 12월 5일 부로 중단. 대신 구글은 REST 기반의 Ajax Search API를 대안으로 제시



REST방식의 주소
"서버 주소 + 서비스 이름 + 자원"

REST에서 말하는 올바른 주소 : http://atin.com/member/34234
REST에서 말하는 틀린 주소 : http://atin.com/member/getMember?id=31
  • URL을 통해 필요한 자원을 계속해서 추적하여 얻어(HTTP GET) 가거나 삽입(HTTP PUT), 삭제(HTTP DELETE)할 수 있게 분류 설계한다.
  • 한번에 모든 정보를 제공해서는 안 된다.


자바에서의 REST

  • Java
    XML과 웹 서비스 관련 API 투자
    JAX-WS2에서 HTTP바인딩과 함께 REST 지원
    JAX-WS의 핵심은 SOAP-WSDL이여서 그다지 쓰이지 않았음.

  • Restlet
    자바를 위한 경량화 REST framework
    오픈소스 프로젝트
    서블릿의 프로그래밍 모델을 기반
    JSR 311 Java API for RESTful Web Services (이하 JSR 311)
     
Restlet 홈페이지 - http://www.restlet.org/
썬에서 RESTful Web Services API와 개발 환경을 배포 - http://developers.sun.com/web/swdp/index.jsp
반응형

'Devlopment > 정리 글' 카테고리의 다른 글

C와 Java의 컴파일 과정  (1) 2011.05.27
난수 발생기  (2) 2010.06.23
SnmpWalk  (0) 2010.04.27
객체 지향 원칙  (0) 2008.08.21
리소스 지향 아키텍처(ROA)  (0) 2008.07.29
검색엔진  (1) 2008.07.17
피어슨 상관 계수  (0) 2008.07.09
상관 분석  (0) 2008.07.08
유클리디안 거리  (0) 2008.07.08
집단지성  (0) 2008.06.25
    'Devlopment/정리 글' 카테고리의 다른 글
    • 리소스 지향 아키텍처(ROA)
    • 검색엔진
    • 피어슨 상관 계수
    • 상관 분석
    아틴
    아틴

    티스토리툴바