글쓰기

REST 란 무엇일까?

어렵지만 2026. 8. 19. 23:57

https://open-pro.dict.naver.com/_ivp/#/pfentry/ade1d842bc594636946a7611fbe3e17e/fab813a43547477f8ec5ce97702ce166

우선, 네이버 오픈 사전 PRO 에서는 다음과 같다

 

웹 아키텍처의 한 종류로서 분산 시스템에서 리소스를 정의하고 
이를 관리하기 위한 원칙과 제약 조건을 나타내는 아키텍처 스타일입니다.

웹의 기본 원리와 모범 사례를 따르며,
클라이언트와 서버 간의 통신을 간단하고 효율적으로 만들어주는 개념입니다

하나 하나 살펴보자,

  • 여기서 웹 아키텍처란? 웹사이트나 웹 애플리케이션을 만들 때, 그 안의 여러 부품(서버, 클라이언트, 데이터베이스 등)이 어떻게 연결되고 서로 이야기를 나누는지를 정한 전체 설계도(청사진)

그렇다, 웹사이트나 웹앱을 만들때 어떻게 통신을 해야하는지 정하는 것 중의 하나가 REST이다.

 

조금 더 알아가보자.

  • 분산시스템이란? 네트워크로 연결된 여러 대의 독립된 컴퓨터가 메시지를 주고받으며 협력해 하나의 커다란 작업을 처리하는 시스템입니다.
  • 리소스란? 웹위에서 다루는 모든 대상(데이터 나 객체)을 '리소스'라고 한다.
    사용자, 게시글, 상품, 이미지 파일 등 서버가 클라이언트에게 제공하거나 관리하는 모든 것이 '리소스' 이다.

그럼 첫 문장인 ' 웹 아키텍처의 한 종류로서 분산 시스템에서 리소스를 정의하고' 를 보면

 ▶ 여러 컴퓨터가 네트워크로 연결돼 협력하는 분산 시스템 환경에서, 웹 사이트나 웹앱을 만들 때 그 안에서 어떻게 통신을 해야하는지 [아키텍처]의 한 스타일로서, 그 안에서 다뤄야하는 대상인 웹위에서 다루는 모든 대상(데이터 나 객체)[리소스] 단위로 식별 정의 하는 것.

 

그럼 두번째 문장을 보면 ' 이를 관리하기 위한 원칙과 제약 조건을 나타내는 아키텍처 스타일입니다.'

 ▶ 앞서 정의한 리소스를 어떻게 다뤄야 하는지에 대한 규칙(원칙+제약 조건)들의 묶음, REST 라는 아키텍처 스타일

 

세번째 문장인 '웹의 기본 원리와 모범 사례를 따르며'

  • 웹의 기본 원리란? HTTP / 웹의 기본 동작 방식
    • URI 로 자원을 가리킨다
    • GET/POST 같은 메소드로 행위를 표현한다
    • 상태를 서버가 계속 안돌고 있어도 통신이 된다 등
  • 모범 사례란?
    • 위의 원리들을 실제로 관찰하고 정리해서 정한 내용들, 앞서 원칙과 제약 조건에 사실이 '모범 사례' 이론을 쳬계화한 결과물

 ▶ http, 웹의 기본 동작방식을 원리와 '리소스를 관리하기 위환 원칙과 제약 조건'의 사례를 따른다.

 

마지막 문장인 '클라이언트와 서버간의 통신을 간단하고 효율적으로 만들어주는 개념입니다'

  • 클라이언트와 서버간의 통신이란?
    • 지금까지 말한 모든 내용(리소스의 정의, 원칙, 제약조건, 웹의 기본원리)이 실현되는 곳, 
    • 브라우저 와 앱(클라이언트) 서버에 요청을 보내고 응답을 받는 그 행위
  • 간단하고? 왜 간단할까? 
    • 리소스는 URI 하나로 식별이 가능
    • 정해진 HTTP 메소드로만 표현
    • 매번 요청이 뭘 하려는 것을 설명하거나 약속을 할 필요가 없어짐
  • 효율적으로? 왜 효율적일까?
    • 무상태의 제약 덕분에 서버가 클라이언트별 상태를 계속 들고 있을 필요가 없어, 서버 확장(스케일링)이 쉬워지고, Cacheable 제약 덕분에 같은 요청을 반복 처리하지 않아도 된다
 자, 그럼 다시 정리하면 REST는
여러 컴퓨터가 협력하는 분산 시스템 위에서 동작하는 웹 아키텍처 스타일입니다.
다룰 대상을 리소스로 정의하고, 그 리소스를 어떻게 다룰지에 대한 원칙과 제약조건을 규정하며
그 규칙은 임의로 만든것이 아닌 웹이 검증한 방식을 따르고
결과적으로 클라이언트 서버간의 통신을 단순하고 효율적으로 만들어줍니다.

감사합니다..