🔙뒤로가기

REST는 웹 서비스를 설계할 때 따라야 할 원칙과 제약 조건을 제공한다. 이 원칙과 제약 조건을 준수함으로써, 확장성, 성능, 단순성, 유지 관리 용이성 등의 이점을 얻을 수 있다. 다음은 REST의 주요 원칙과 제약 조건이다.

REST의 원칙과 제약 조건

  1. Stateless 각 요청이 서버에 있는 이전의 클라이언트 요청 정보를 참조하지 않고 독립적으로 처리되어야 한다. 모든 필요한 정보는 요청에 포함되어야 하며, 서버는 이를 바탕으로 요청을 처리할 수 있어야 한다. 이를 통해 서버의 성능과 확장성을 향상시킬 수 있음.

  2. Client-Server 클라이언트와 서버가 역할을 명확하게 분리해야 한다.

    이를 통해 클라이언트와 서버의 개발 및 유지보수가 독립적으로 이루어질 수 있음.

  3. Cacheable 클라이언트는 서버로부터 받은 응답을 캐싱할 수 있어야 한다. 캐싱은 서버의 부하를 줄이고 응답 시간을 단축시키는 데 도움이 된다. 응답의 캐시 가능 여부는 서버에서 명시적으로 알려줘야 한다.

  4. Layered System 아키텍처는 여러 계층으로 구성될 수 있어야 하며, 각 계층은 독립적으로 구현 및 유지보수가 가능해야 한다. 계층 간의 의존성은 최소화되어야 한다. 이를 통해 시스템의 유연성과 보안을 향상시킬 수 있음

  5. Code on Demand(선택 사항) 서버는 필요에 따라 클라이언트에 실행 가능한 코드를 전송할 수 있어야 한다. 이를 통해 클라이언트의 기능을 동적으로 확장할 수 있다. 이 원칙은 선택 사항으로, 필수적인 구성요소는 아니다.

  6. Uniform Interface 시스템 전체에서 일관된 인터페이스를 통해 자원에 접근하고 조작할 수 있어야 한다. 일관된 인터페이스를 통해 개발자가 API를 쉽게 이해하고 사용할 수 있게 된다. REST에서 일관된 인터페이스를 위해 표준 HTTP 메소드와 규칙에 따른 URI를 사용한다.


이런 원칙들을 적용한 웹 서비스를 RESTful 웹 서비스라고 한다. 최근에는 RESTful 웹 서비스를 구현하는 데 널리 사용되는 방법 중 하나로 REST API가 있다.