2023 주니어 SRE 엔지니어 후레임

반응형

 


REST란?

REpresentational State Transfer의 줄임말이다.
인터넷을 위해 웹 서비스를 작성할 때 제약 조건을 정의하는데 사용된다.

여기서
state는 데이터
transfer는 전송 프로토콜(보통 HTTP)를 의미한다.

 

특징

1. 클라이언트 - 서버 아키텍처(Client-server architecture)
클라이언트 - 서버 구조를 기반으로 하며, 클라이언트는 서버에 요청을 보내고 서버는 클라이언트에 응답을 다시 보낸다.

2. 상태 비저장(Stateless)
서버에 클라이언트의 정보를 저장하지 않는다. 이는 서버의 확장성을 높이고 개발을 더 쉽게 만들어 준다.

3. 캐시 가능성(Cacheability)
동일한 작업을 다시 수행하지 않고도 동일한 요청에 응답할 수 있도록 서버가 응답을 저장할 수 있다.

4. 계층화된 시스템(Layered system)
기본 인프라에 관계없이 사용할 수 있다. 이를 통해 확장 가능하고 유지 관리 가능한 시스템을 구축할 수 있습니다.

5. 주문형 코드[선택사항](Code on demand[Optional])
클라이언트에서 실행할 수 있는 실행 가능한 코드(예: JavaScript)를 선택적으로 반환 가능하다. 이를 "주문형 코드(Code on demand)"라고 한다.

웹 기반 시스템을 위해 웹 API를 구축할 때 주로 사용된다.

 

API란?

API는 Application Programming Interface의 줄임말로,
두 시스템이 서로 상호 작용하는 방법을 정의하는 규칙의 집합이다.
요청 가능한 유형, 요청 및 응답 메시지의 구조, 요청 처리 및 응답 생성 규칙을 지정한다.

API는 서버와 클라이언트 사이에 계약을 정의한다.
서버는 API를 통해 데이터와 기능을 제공하고
클라이언트는 API를 정의된 규칙에 따라 사용하기로 약속한다.

REST API를 이용하면 클라이언트가 서버를 통해

온라인에서 제품 목록을 가져오거나
주문을 제출하거나
고객 정보를 업데이트 가능

 

클라이언트는 이러한 리소스에 액세스하기 위해 서버에 HTTP 요청(request)을 하고
서버는 요청된 데이터를 HTTP 응답(response)으로 반환한다.

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band