。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS

2.4 REST

quarrrter 2023. 12. 4. 00:59

2.4.1 REST란

 

Representational State Transfer 

HTTP 통신을 활용하기 위해 고안된 아키텍처 

 

Representational은 인터넷상의 자원을 URI(Uniform Resource Idenfifier)로 나타낼 수 있음을 의미한다. 

클라이언트는 URI로 표현된 자원을 HTTP 메서드를 이용해 CRUD 연산을 할 수 있다.

 

State Transfer 는 요청받은 자원의 상태를 전달하는 것.

 

특징:

  • 일관된 인터페이스
    • 자원을 나타내는 URI를 HTTP 메서드로 조작하는 일관된 인터페이스를 사용한다.
    • 따라서 HTTP를 따르는 모든 플랫폼에서 REST를 사용할 수 있다.
  • 클라이언트-서버 구조
    • 클라이언트와 서버 간에 요청-응답의 독립적인 구조를 갖는다. 
  • 무상태성
    • 서버에서 클라이언트의 요청을 저장하거나 관리하지 않는다. 
    • 서버는 클라이언트의 요청에 대한 처리와 응답만 하고, 사용자인증 & 로그인 정보 등은 클라이언트에서 직접 관리.
  • 캐싱 가능
    • HTTP 표준을 사용하므로 클라이언트는 이전에 서버로부터 받은 응답을 저장 및 재사용하는 캐싱을 할 수 있다.
    • 클라이언트의 많은 요청으로부터 서버 부하를 줄여 주고, 빨리 응답을 받을 수 있게한다.
  • 자체 표현 구조
    • REST API는 자원, 행위, 표현으로 구성되어 REST API 메세지를 보고 어떤 요청을 하는지 알 수 있다.
  • 계층형 구조
    • REST 서버는 다증 계층으로 구성될 수 있어서 보안, 암호화 같은 계층을 추가해 서버에 대한 기능을 유연하게 확장할 수 있다. 

 

 

 

2.4.2 REST API

API : 다른 소프트웨어에 서비스를 제공하기 위한 소프트 웨어 인터페이스

REST API : REST를 기반으로 한 인터페이스 

 

구성

자원: URI (자원의 식별)

행위: HTTP 메서드 (자원에 대한 행위, 처리)

표현: JSON, XML 등 (전달되는 데이터)

 

작동방식

1. 클라이언트가 URI로 식별한 자원에 대해 HTTP 메서드를 사용해 REST API로 요청한다.

2. REST API가 HTTP 요청 메세지에 실려 서버에 전달된다.

3. 서버에서는 수신한 HTTP 요청 메세지를 바탕으로 요청 사항을 확인해 처리하고 HTTP 응답을 반환한다. 응답에는 요청에 대한 처리 성공 여부와 정보를 포함한다.

4. 응답 메세지는 자원에 대한 정보를 JSON 또는 XML등의 형태로 포함하고 있다. 클라이언트는 해당 형태의 정보를 수신한다.

 

 

 

2.4.3 HTTP 메서드 (요청의 종류와 목적을 나타냄)

  • POST : 생성
  • GET : 조회
  • PUT : 갱신
  • DELETE : 제거

'CS' 카테고리의 다른 글

2. 예상 질문  (0) 2023.12.04
2. 컴퓨터 네트워크 정리  (0) 2023.12.04
2.3 HTTP / HTTPS  (0) 2023.12.01
2.2 TCP와 UDP  (1) 2023.11.29
2.1 네트워크 계층  (1) 2023.11.28