Spring-REST API

이호영·2022년 2월 9일
0

Spring

목록 보기
1/18

REST: Represntational State Transfer(자원 상태 전달)
6가지의 아키텍처가 있다.
1.Clint, Server: 클라이언트와 서버가 서로 독립적으로 분리 되어있어야 한다.
2.Stateless: 요청에 대해서 clint의 상태를 서버에 저장하지 않는다.
3.Cache: 클라이언트는 서버의 응답을 Cache(임시저장)할 수있어야 한다. 즉, clint가 Cache를 통해서 응답을 재사용할 수있어야 하고 이를 통해 서버의 부하를 낮춘다.
4.Layerde System: Server와 clint간에 방화벽, 게이트웨이, proxy 등 다양한 계층 형태로 구성이 가능해야 하며
이를 확장할 수 있어야 한다.
5.인터페이스 일관성: 인터페이스의 일관성을 지키고 아키텍처를 단순화 시켜 작은 단위로 분리하여 clint, server가 독립적으로 개선될수 있어야 한다.
6.Code on Demand:자바 에플릿, 자바스크립트, 플래시 등 특정한 기능을 server로부터 clint가 전달받아 코드를 실행할 수 있어야 한다.

4가지 인터페이스 일관성이 잘 지켰는지에 따라 REST를 잘 사용했는지 판단이 가능하다.

1.자원의 식별-리소스 접근시 URI 사용
2.메시지를 통한 리소스 조작
3.자기서술적 메시지
4.Application상태에 대한 엔진으로써 하이퍼미디어
이러한 조건들을 잘 갖춘 경우 REST Full, REST API라고 부른다.

0개의 댓글