티스토리 뷰

SPRING 🍃

[SPRING-BOOT] REST API / RESTful

절취선 2021. 3. 6. 13:33
반응형

1. REST : REpresentational State Transfer

- 자원을 구분하여 해당 자원의 상태를 교환하는 모든 행위을 의미

 

  • 자원(Resource): URI
  • 행위(Verb): HTTP METHOD
  • 표현(Representations)

2. REST의 특징

  • Uniform Interface (유니폼 인터페이스)
    HTTP 표준만 따른다면 어떤 언어 혹은 어떤 플랫폼에서 사용하여도 사용이 가능한 인터페이스 스타일이다.
    안드로이드 플랫폼, IOS 플랫폼 등 특정 언어나 플랫폼에 종속되지 않고 사용이 가능하다.
  • Stateless (상태 정보 유지 안함)
    Rest는 상태 정보를 유지하지 않는다.
    서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리를 한다.
    이전 요청이 다음 요청 처리에 연관이 되면 안된다.
  • Cacheable (캐시 가능)
    HTTP의 기존 웹 표준을 그대로 사용하기 때문에 HTTP가 가진 캐싱 기능 적용이 가능하다.
  • Self-descriptiveness (자체 표현 구조)
    Rest API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조로 되어있다.
  • Client-Server
    Rest 서버는 API 제공을 하고 클라이언트는 사용자 인증에 관련된 일들을 직접 관리한다.
    자원이 있는 쪽을 Server라고 하고 자원을 요청하는 쪽이 Client가 된다.
    서로간의 의존성이 줄어들기 때문에 역할이 확실하게 구분되어 개발해야할 내용들이 명확해진다.
  • Layerd System (계층화)
    클라이언트는 Rest API 서버만 호출한다.
    Rest 서버는 다중 계층으로 구성될수 있으면 로드 밸런싱, 암호화, 사용자 인증 등을 추가하여 구조상의
    유연성을 둘 수 있다.

 

3. API : Application Programming Interface

- 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용으로, 정보교환을 가능하도록 하는 것

 

4. REST API(REST + API) 특징

- 시스템의 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.

- HTTP 표준을 기반으로 구현하고 이를 지원하는 언어로 클라이언트 및 서버를 구현 할 수 있다.

 

5. RESTful

- REST의 구조를 구현하는 웹 서비스를 표현하기 위한 용어

 

6. RESTful 목적

- 이해하기 쉬운 REST API 설계

- 성능 향상의 목적이 아닌 API의 이해도 및 호환성을 높이는 것을 목적으로 이용한다.

반응형

'SPRING 🍃' 카테고리의 다른 글

SpringBootServletInitializer 상속  (0) 2022.02.26
[Junit.Test] initializationError  (0) 2021.03.24
[SPRING-BOOT] 프로젝트 분리  (0) 2021.03.11
[SPRING-BOOT] Mock and Mockito  (0) 2021.03.06
[SPRING] @Valid 유효성 검사  (0) 2021.02.13
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함