20230405 [REST(Representational State Transfer)]

Daisy🌷·2023년 4월 5일

REST(Representational State Transfer)

  • 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.

월드 와이드 웹, 하이퍼미디어, 소프트웨어 아키텍처 다 어려운 말들이다. 하나씩 정리해보자.

  1. 월드 와이드 웹 : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간
  2. 하이퍼미디어 : 문자 데이터, 그래픽, 음성 및 동화(動畵) 등 복수의 미디어를 하나의 연상의 거미집(web of associations)과 같이 연결시킨 정보의 저장(데이터베이스) 및 검색 시스템
  3. 소프트웨어 아키텍처 : 소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙

엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다.

네트워크 아키텍처 원리..? 여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다. 간단한 의미로는, 웹 상의 자료를 HTTP 위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스를 말한다.

  • REST 아키텍처 스타일에서 데이터와 기능은 리소스로 간주되며 URI( Uniform Resource Identifier )를 사용하여 액세스된다.
  • 리소스는 간단하고 잘 정의된 작업 집합을 사용하여 작동한다. 또한 리소스는 클라이언트가 HTML, XML, 일반 텍스트, PDF, JPEG, JSON 등과 같은 다양한 형식의 콘텐츠에 액세스할 수 있도록 해당 표현에서 분리되어야 한다.
  • 클라이언트와 서버는 표준화된 인터페이스와 프로토콜을 사용하여 리소스 표현을 교환한다. 일반적으로 HTTP는 가장 많이 사용되는 프로토콜이지만 REST는 이를 의무화하지 않는다.
  • 리소스에 대한 메타데이터를 사용할 수 있으며 캐싱 제어, 전송 오류 감지, 적절한 표현 형식 협상, 인증 또는 액세스 제어 수행에 사용된다.
  • 그리고 가장 중요한 것은 서버와의 모든 상호 작용이 상태 비저장이어야 한다는 것이다.
  • 이러한 모든 원칙은 RESTful 애플리케이션이 단순하고 가볍고 빠를 수 있도록 도와준다.
profile
티스토리로 블로그를 이전했습니다. 😂 구경 오세요! 👉🏻 https://u-ryu-logs.tistory.com

0개의 댓글