[Spring] REST API

WOOK JONG KIM·2022년 10월 25일
0
post-thumbnail

대중적으로 가장 많이 사용되는 애플리케이션 인터페이스

이를 통해 클라이언트는 서버에 접근하여 자원을 조작할 수 있다

REST란?

Representational State Transfer의 약자로, 웹과 같은 분산하이퍼미디어 시스템 아키텍처의 한 형식

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

REST 아키텍처를 따르는 시스템/애플리케이션 인터페이스

REST의 특징

유니폼 인터페이스

== 일관된 인터페이스

REST 서버는 HTTP 표준 전송 규약을 따르기 때문에 어떤 프로그래밍 언어로 만들어졌느냐와 상관없이 플랫폼 및 기술에 종속되지 않고 타 언어,기술 들과 호환해 사용할 수 있다

무상태성(stateless)

서버에 상태 정보를 따로 보관하거나 관리하지 않는다는 것

서버는 클라이언트가 보낸 요청에 대해 세션이나 쿠키 정보를 별도로 보관X
-> 한 클라이언트가 여러 요청을 보내든, 여러 클라이언트가 각각 하나의 요청을 보내든 개별적으로 처리
-> 서버가 불필요한 정보를 관리하지 않아 비즈니스 로직의 자유도가 높고 설계 단순

캐시 가능성

REST는 HTTP 표준을 그대로 사용하므로 캐싱 기능 적용 가능

-> 사용을 위해 응답과 요청이 모두 캐싱 가능한지 명시가 필요하며, 캐싱이 가능한 경우 클라이언트에서 캐시에 저장해 두고 같은 요청에 대해 해당 데이터를 가져다 사용
(서버의 부하가 줄어 성능 개선)

클라이언트 서버 아키텍처

REST 서버는 API를 제공하고 클라이언트는 사용자 정보를 관리하는 구조로 분리해 설계

profile
Journey for Backend Developer

0개의 댓글