공부 etc.

[23.04.27] REST API

꿈꾸는야오옹 2023. 4. 27. 09:57

REST (REpresentational State Transfer)

: HTTP 기반 소프트웨어 아키텍쳐

 

REST API

즉, 웹 어플리케이션, 다양한 언어, 모바일 어플리케이션, 다른 서버  (*다 HTTP 기반) 등 끼리 서로 통신할 수 있도록,

통역 역할을 해주는 API (어플리케이션 간의 데이터 통신을 위한 어플리케이션 프로그래밍 인터페이스)

 

구성

  • 자원(RESOURCE) - URI
  • 행위(Verb) - HTTP METHOD
  • 표현(Representations)

 

특징

1. 무상태성 Stateless

클라이언트의 상태를 저장 x​. 작업을 위한 상태정보를 따로 저장하고 관리하지 않음. 세션 정보나 쿠키정보를 별도로 저장하고 관리하지 않기 때문에 API 서버는 들어오는 요청만을 단순히 처리하면 된다.

 

2. Client - Server 구조

각각의 역할이 확실하게 구분. 클라이언트와 서버에서 개발 할 내용이 명확해짐

 

3. 캐시 가능

HTTP 웹표준을 활용하기 때문에 기존 캐싱 기능 적용가능.

 

4. 자체 표현 구조

REST API 메시지만 보고도 이를 쉽게 이해 할 수 있는 자체 표현 구조로 되어 있음

 

5. 계층형 구조

REST서버는 다중 계층으로 구성가능. 보안, 로드 밸런싱, 암호화 계층 등 추가 가능