본문 바로가기
IT_Developers/네트워크

네트워크 - REST란? / Representational State Transfer

by 고코더 2021. 12. 21.

안녕하세요.

고코더 입니다.

REST라는 단어에 대해 알아보겠습니다.

REST

Representational State Transfer
(대표 상태 전송)

 

REST(Representational State Transfer)라는 단어가 언제부턴가 실무에서 많이 사용하게 되었습니다. 개발 방식이 점점 세분화되고 고도화되면서 데이터의 자원의 상태를 주고받는 것이 중요해지면서 이 단어는 점점 많이 두각을 드러내기 시작합니다. 즉 자원을 구분하여 자원의 상태(정보)를 주고 받는 모든 것을 의미합니다.  이미지, 동영상, 파일, 데이터 등 자원에 대해 유한 URI를 부여해 활용하는 것입니다. 자원에 대한 주소를 지정하는 방법론을 의미한다고 한다.

 

 

HTTP Method

대표적인 HTTP URI 자원은 CRUD Operation을 적용합니다. 해당 자원에 맞는 메서드 방식을 사용합니다. 

  • Create, POST, 자원 생성한다.
  • Read, GET, 자원을 조회한다.
  • Update, PUT, 자원을 업데이트한다.
  • Delete, DELETE, 자원을 삭제한다. 

 

REST의 특징

  • Server-Client, 자원이 있는 서버, 이를 요청하는 클라이언트 구조를 지닙니다. 
  • Stateless, 무상태 프로토콜로 클라이언트의 Context를 서버에 저장하지 않습니다. 
  • Cacheable, HTTP를 사용함으로 캐시 처리 또한 가능합니다. 
  • Layered System, 계층화를 통한 유연성이 있습니다. 
  • Uniform Interface, 인터페이스 일관성으로 모든 플랫폼에서 사용이 가능합니다. 

 

REST의 장점 

  • HTTP 프로토콜의 인프라 사용, 별도의 인프라를 구출할 필요가 없다.
  • 모든 플랫폼에서 사용이 가능하다.
  • Hypermedia API의 범용성을 보장합니다.
  • REST API 메시지는 구체적입니다.
  • 서비스 디자인의 문제를 최소화합니다.
  • 서버와 클라이언트의 역할을 명확하게 분리합니다.


REST의 단점 

  • 정해진 표준이 없으므로, 프로젝트별로 정의가 필요합니다. 
  • HTTP Method 형태가 제한적입니다.
  • 브라우저에서 호환성에 의한 이슈가 있습니다. 

 

 

* 참조 자료

Allocation ReSTful Web Service Implementation

 

댓글