REST

jodbsgh·2023년 9월 29일
0

2023

목록 보기
4/8

REST

REST(Representation State Transfer)는 웹 기반 애플리케이션의 아키텍처 스타일 중 하나입니다.

HTTP(Hypertext Transfer Protocol)를 기반으로 한 분산 시스템을 설계하고 구축하는 데 사용되는 아키텍처 원칙과 제약 사항의 모음입니다.

특징

자원(Resources)

REST 아키텍처에서는 모든 것을 자원으로 간주합니다. 자원은 웹에서 싣별 가능한 모든 것을 의미합니다. 예를 들어, 웹페이지, 이미지, 데이터베이스 레코드, 사용자, 서비스 등이 자원이 될 수 있습니다.

표현(Representation)

자원은 여러 형태의 표현으로 나타낼 수 있습니다. 예를 들어, 텍스트, JSON, XML, HTML, 이미지 등이 자원의 다양한 표현 형태가 될 수 있습니다.

상태전이(Stateless)

REST는 상태를 서버에 저장하지 않고 요청 사이에 상태를 관리하지 않는 Stateless한 아키텍처를 강조합니다. 각 요청은 모든 필요한 정보를 포함하고 있어야 하며, 서버는 요청을 처리하기 위한 모든 정보를 요청 내에서 찾을 수 있어야 합니다.

HTTP메서드 (HTTP Methods)

HTTP메서드(GET, POST, PUT, DELETE등)를 사용하여 자원에 대한 다양한 작업을 수행합니다.

  • GET : 자원을 조회하기 위해 사용합니다.
  • POST : 새로운 자원을 생성하기 위해 사용합니다.
  • PUT : 자원을 업데이트 또는 수정하기 위해 사용합니다.
  • DELETE : 자원을 삭제하기 위해 사용합니다.

URL(Uniform Resource Identifier)

자원을 고유한 식별자인 URL을 통해 참조됩니다. URL는 자원을 가르키는 주소입니다.

상호연결(Interconnectedness)

REST 아키텍처는 자원 간의 상호 연결을 강조합니다. 하나의 자원에서 다른 자원으로의 링크를 통해 서로 연결되어 있어야 합니다.

계층구조(Layered System)

REST 아키텍처는 계층 구조를 지원하며, 클라이언트는 서버와 직접 통신하는 대신 중간 계층(로드 밸런서, 캐시 서버 등)을 통해 통신할 수 있습니다.

REST는 웹 서비스 및 API개발에서 매우 널리 사용되며, 간단하고 확장 가능한 아키텍처를 제공합니다. RESTfull웹 서비스를 개발할 때는 자원 식별, HTTP메서드 사용, 상태전이의 무상태성, 다양한 표현 형태 등을 고려하여 설계하고 구현해야 합니다. 이러한 원칙을 따랐을 때 웹 기반 애플리케이션을 효율적으로 관리하고 확장할 수 있습니다.

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글