티스토리 뷰

ETC

RESTful 하다란?

annajinee 2021. 3. 25. 12:47

RESTful 하다란 무엇일까

: REST의 원리를 잘 지키는 시스템을 RESTful 하다라고 한다.

 

RESTful한 API란?

: ‘각 구성요소들의 역할이 완벽하게 분리되어 있는 것’

 

URI는 각 리소스를 명확하게 인식할 수 있도록 용이한 표현방식을 가져야 한다.

각 리소스에 대한 행위를 HTTP 메소드를 이용하여 Uniform(일관성)하게 정의할 수 있어야 한다.

Uniform한 형식에 의해 제한 받는 세부 기능의 경우 JSON, XML 등을 이용하여 별도로 정의함으로써, 기능을 명확하게 분리할 수 있어야 한다. 

 

그 중에서도 가장 중요한 부분은 ‘URI의 명확한 정의’ 이다. 

 

어떻게 URI을 설계 해야 하는가 

  • 슬래시(/)를 이용해서 계층 관계를 표현한다.
  • 여러 리소스들의 집합을 의미하는 컬렉션의 경우 복수형태(-s) 사용을 권장하고 있으며, 각 리소스들은 단수를 사용 
  • 언더스코어(_) 사용 자제
  • 또한 URI는 호스트를 제외한 나머지 모든 요소에서 소문자를 사용 하는 것을 권장
  • 파일 확장자는 URI에 미포함 
  • 명사 위주의 URI 

 

REST 아키텍처에 적용되는 6가지 제한 조건

  1. 인터페이스 일관성 : 일관적인 인터페이스로 분리되어야 한다
  2. 무상태(Stateless): 각 요청 간 클라이언트의 콘텍스트가 서버에 저장되어서는 안 된다
  3. 캐시 처리 가능(Cacheable): WWW에서와 같이 클라이언트는 응답을 캐싱할 수 있어야 한다. 
    : 잘 관리되는 캐싱은 클라이언트-서버 간 상호작용을 부분적으로 또는 완전하게 제거하여 scalability와 성능을 향상시킨다.
  4. 계층화(Layered System): 클라이언트는 보통 대상 서버에 직접 연결되었는지, 또는 중간 서버를 통해 연결되었는지를 알 수 없다. 중간 서버는 로드 밸런싱 기능이나 공유 캐시 기능을 제공함으로써 시스템 규모 확장성을 향상시키는 데 유용하다.
  5. Code on demand (optional) - 자바 애플릿이나 자바스크립트의 제공을 통해 서버가 클라이언트가 실행시킬 수 있는 로직을 전송하여 기능을 확장시킬 수 있다.
  6. 클라이언트/서버 구조 : 아키텍처를 단순화시키고 작은 단위로 분리(decouple)함으로써 클라이언트-서버의 각 파트가 독립적으로 개선될 수 있도록 해준다.

 

참고 :

ko.wikipedia.org/wiki/REST

 

REST

위키백과, 우리 모두의 백과사전. 대한민국의 힙합 음악가에 대해서는 R-EST 문서를 참조하십시오. REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프

ko.wikipedia.org

wallees.wordpress.com/2018/04/19/rest-api-restful/

 

RESTful 하다?

RESTful하다는 말은 무엇일까요? 이 글은 API를 설계할 때 발생할 수 있는 문제점들을 나열하고, 이를 해결할 수 있는 RESTful한 설계 방법을 설명합니다.

wallees.wordpress.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함