API란 무엇인가?
Application Programming Interface(애플리케이션 프로그램 인터페이스)의 약자로, 소프트웨어 응용 프로그램에서 다른 소프트웨어 구성 요소 또는 서비스와 상호 작용하기 위한 인터페이스를 제공하는 프래그래밍 기술이다.
즉,API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체(클라이언트와 서버 사이)들의 데이터 전송 통신을 위한 규칙이나 룰이라고 생각하면 된다.
API의 역할은 무엇인가?
1.API는 서버와 데이터 베이스에 대한 출입구 역할을 한다.
API는 서버와 DB에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다.
2.API는 애플리케이션과 기기가 원할하게 통신할 수 있도록 도와준다.
API는 애플리케이션(프로그램)과 기기가 데이터를 원할하게 주고받을 수 있도록 돕는다.
3.API는 모든 접속을 표준화 한다.
API는 모든 접속을 표준화하기 때문에 기계/운영체제 등과 상관없이 누구나 동일한 엑세스를 얻을 수 있다.
API 종류와 특징 - 웹 API
웹 API란
웹 API는 인터넷을 통해 다른 웹 서비스나 애플리케이션과 통신하기 위해 설계된 API로, 일반적으로 HTTP를 사용하여 데이터를 보낸다.
라이브러리 API
특정 언어에서 사용되는 라이브러리나 프레임워크에서 제공되는 함수와 클래스 등을 사용하여 다른 소프트웨어 구성 요소와 상호 작용할 수 있도록 인터페이스를 제공한다.
특징
1. 접근 권한을 부여 받아 사용할 수 있으며 프로그램 내부가 어떻게 동작하는지 알 수 없으며, API 활용 규약에 따라 가져다가 사용할 수 있다.
2.RESTful API의 경우 특정한 포맷에 맞춰 HTTP 요청을 보내면 HTTP 응답으로 데이터가 돌아오는 방식이다.
이때, HTTP 요청 및 응답 포맷 역시 API이다.
REST란?
REST(Representational State Transfer)은 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다.
즉,
1.HTTP URI를 통해 자원을 명시한다.
2.HTTP Method(post,get,put,post 등)을 통해 해당 자원에 대한 CRUD 동작을 적용하는 것이다.
REST의 구성요소 - 자원 ,행위 , 메세지
1.자원(resource) : 접근할 대상
2.메서드 : HTTp Method -GET(조회),POST(생성),PUT(수정),DELETE(삭제) 등
3.메세지
ex) 상품명이 크런키인 상품을 생성한다. 라는 호출에서
"상품"은 생성되는 자원
"생성한다"라는 행위는 메서드
"상품명이 크런키"인 상품은 메세지이다.
REST의 형태로 표현한 예제.
HTTP POST , http://localhost/products/ {
"products" :{
"name":"크런키",
"price":"500" }
}
REST의 특징
1.server-client( 서버 - 클라이언트 구조)
2.Stateless(무상태)
3.Cacheable(캐시 처리 가능)
4.Layered System(계층화)
5.Uniform Interface(인터페이스 일관성)
REST API란?
REST의 원리를 따르는 API를 의미한다.
RESTful API란?
RESTful이란 REST의 원리를 따르는 시스템을 의미한다.
즉, Restful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다.
참조
https://blog.wishket.com/api란-쉽게-설명-그린클라이언트/
https://velog.io/@kwontae1313/API란-무엇일까
https://khj93.tistory.com/entry/네트워크-REST-API란-REST-RESTful이란
'CS 전공 지식' 카테고리의 다른 글
컨테이너(Container), 도커(Docker) 그리고 쿠버네티스(Kubernetes)에 대해 알아보자 (2) | 2024.03.10 |
---|