본문 바로가기

Study/공부공부

[용어정리] RESTful API 에 대해서

 

https://aws.amazon.com/ko/what-is/restful-api/

 

RESTful API란 무엇인가요? - RESTful API 설명 - AWS

Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스입니다. API Gateway를 사용하면 실시간 양방향 통신 애

aws.amazon.com

 


 

* API ( Application Programming Interface )

소프트웨어 어플리케이션 간에 상호 작용할 수 있도로 만든 인터페이스.

어떤 소프트웨어가 다른 소프트웨어와 소통할 수 있게 해주는 규칙과 도구들의 모음.

 

 

[ API의 여러가지 형태 ]

 

1. 라이브러리 API 

프로그래밍 언어에서 사용되는 라이브러리나 모듈의 함수와 프로시저 등을 호출하는 데 사용되는 API.

 

2. 웹 API

웹 기술을 기반으로 한 API로, 네트워크를 통해 다른 시스템과 상호 작용할 수 있도록 해줌.

(클라이언트와 웹 리소스 사이의 게이트웨이)

ex) RESTful API , SOP API

 

3. 하드웨어 API 

하드웨어와 소프트웨어 간의 상호 작용을 지원하기 위한 API로, 주로 드라이버 등이 이에 해당.

 


 

* RESTful API 

REST 아키텍처 스타일을 따르는 (웹) API .

 

* REST ( Representational State Transfer )

웹 기반 시스템 간의 통신(정보 교환)을 위한 소프트웨어 아키텍처의 한 형태로,

자원을 표현하고 상태를 전송하는 방법을 정의.

 

 

[ REST의 주요 원칙 ]

 

인터페이스 일관성 (Uniform Interface)

 

1. 자원의 식별 (Identification of Resources)

각 자원은 고유한 식별자(URI)를 가지고 있으며, 이를 통해 클라이언트는 자원을 식별하고 접근.

ex) 사용자, 제품, 주문등..

 

2. 자원의 표현 (Representation of Resources)

자원의 상태는 여러 형태로 표현될 수 있음.

흔히 사용되는 형식은 JSON 또는 XML로 이를 통해 클라이언트는 자원의 상태를 이해하고 조작.

 

3. 메시지 (Manipulation of Resources Through Representations)

클라이언트와 서버 간의 통신은 자원의 상태 전이를 통해 이루어짐.

클라이언트가 자원의 상태를 조작하기 위해 필요한 모든 정보는 자원 자체에 포함되어 있어야 함.

                                                                                            메시지에 담겨져 있어야함

 

4. 하이퍼미디어 (Hypermedia as the Engine of Application State-HATEOAS)

클라이언트는 서버에서 제공하는 링크를 통해 다음 가능한 동작을 이해하고 수행.

예를 들어, 서버가 클라이언트에게 '다음으로 진행하기' 라는 링크를 제공하면 클라이언트는 해당 링크를 따라가며 서버와의 상호작용을 계속할 수 있음.

 

 

=> 인터페이스 일관성은

클라이언트와 서버 간의 상호 작용을 단순하고 일관되게 유지하여 시스템의 확장성 향상.

서버와 클라이언트를 독립적으로 발전시킬 수 있는 유연한 아키텍쳐 제공.

 

'Study > 공부공부' 카테고리의 다른 글

웹 애플리케이션의 렌더링 방식  (0) 2024.11.16
[네트워크] 원격 접속 방식들  (0) 2024.10.25
[용어정리] AWS / 클라우드 컴퓨팅  (0) 2024.01.15
[기초CS] CPU  (0) 2024.01.03
[ git ] 코딩애플 강의 정리1  (0) 2023.09.30