API
정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성요소가 서로 통신할 수 있게 하는 메커니즘이다
ex) 기상청의 날씨 데이터베이스(서버,응답,GET) => API => 휴대폰의 날씨 앱(클라이언트,요청,GET)
API, 창구이자 약속이다
Application Programming Interface(애플리케이션 프로그램 인터페이스)
의 줄임말로어플리케이션 이라는 단어는 고유한 기능을 가진 모든 소프트웨어 뜻함
인터페이스는 두 어플리케이션 간의 서비스 계약이라고 할수 있음,
이 계약은 요청과 응답을 사용하여 두 어플리케이션이 서로 통신하는 방법을 정의한다
API 문서에는 개발자가 요청과 응답을 구성하는 방법에 대한 정보가 담긴다
API의 작동
API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명된다
(요청을 보내는 어플리케이션) 클라이언트 <=> 서버 (응답을 보내는 어플리케이션)
REST API
웹에서 볼 수 있는 가장 많이 사용되고 유연한 API이다.
자원(Resource): URI ( 데이터 )
행위(Verb): HTTP Method 이용해 CRUD명령으로 자원(데이터)를 조작
표현(Representations) : CRUD명령에 대한 서버의 응답
REST는
데이터를 정의하고 데이터에 대한 주소(고유URL)를 지정하여 HTTP Method를 이용해 CRUD명령을 요청하여 데이터의 상태(정보)를 주고 받는 것(응답)을 의미한다.
(클라이언트가 서버에 요청을 데이터로 전송 => 서버가 이 클라이언트 입력을 사용하여 내부 함수 시작하고 출력 데이터를 다시 클라이언트에 반환(응답) 합니다)
CRUD
란 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성)