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에 포함하지 않는다.
출처 :
스프링부트 핵심 가이드- 정정우
'Development' 카테고리의 다른 글
[Project] Cloud Migration 도전기 (1) | 2025.02.09 |
---|---|
Spring Security 컨트리뷰터가 되다..! (2) | 2025.01.19 |
[spring security] 시큐리티 초기화 과정 톺아보기 (1) | 2025.01.17 |
[MSA] Spring Cloud vs Kubernetes (0) | 2025.01.11 |
[UML] Mermaid를 사용해서 다이어그램을 그려보자. (0) | 2023.10.21 |