경주란 빨리 달리는 사람들의 것이 아니라
       계속 뛰어가는 사람들의 것이다.
LinkTree🌲

Development

[CS] REST이란?

컴공희 2024. 5. 27. 19:32

Rest는 Representational State Transfer의 약자로, 분산 하이퍼 미디어 시스템 아키텍처의 한 형식이다. 

주고 받는 자원(Resource)에 이름을 규정하고 URI에 명시해 HTTP 메서드 (GET, POST, PUT, DELETE)를 통해

자원의 상태를 주고받는 것을 의미한다. 

REST 를 쉽게 말하면 표현 방식이라고 봐도 좋다. 

 

API란?

그렇다면 API는 application Programming interface의 약자로 애플리케이션에서 제공하는 인터페이스를 의미한다. 

API를 통해 서버 또는 프로그램 사이를 연결할 수 있다. 

API는 애플리케이션을 나타내는 형식이라고 봐도 되겠다.

 

REST API란? 

REST API 는 이 둘을 합쳐, REST 아키텍처를 따르는 시스템/애플리케이션 인터페이스라고 볼 수 있다. 

즉, REST 아키텍처를 구현하는 웹 서비스를 RESTful 하다라고 표현하기도 한다. 

 


REST의 특징

유니폼 인터페이스

  • 일관된 인터페이스라는 뜻
  • 표준을 따르기 때문에 플랫폼, 기술에 종속되지 않는다.

무상태성

  • 상태를 저장하지 않음
  • 스케일업하기 수월하고 독립적으로 운영이 가능
  • 자유도가 높고 설계가 단순해짐

 

캐시 가능성

  • HTTP 표준을 사용함으로 캐싱 기능 적용 가능
  • 트랜잭션 부하 줄여 성능 개선

 

레이어 시스템

  • 여러 계층으로 구성가능
  • 클라이언트는 서버와 연결되는 포인트만 알면됨.

 

클라이언트 - 서버 아키텍처

  • 서버는 API 제공 - 클라이언트는 사용자 정보 관리 구조로 분리 가능
  • 서로에 대한 의존성을 낮출 수 있음

 


REST API 설계 규칙

  • URI 마지막에는 '/'를 포함하지 않음
  • _ 언더바를 사용하지 않는다. - 대시 는 가능
  • URI에는 행위(동사)가 아닌 결과(명사)를 포함한다.

  • URI는 소문자로 작성해야함
  • 파일의 확장자는 URL에 포함하지 않는다.

 

 

 

출처 : 
스프링부트 핵심 가이드- 정정우