REST API란?
- REST API 에서 REST는 Representational State Transfer 의 약자로 소프트웨어 프로그램 아키텍처의 한 형식 입니다.
- 자원을 이름 (자원의 표현) 으로 구분하여 해당 자원의 상태 (정보)를 주고 받는 모든 것을 의미한다.
- 월드 와이드 웹 (WWW) 과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식이다.
- REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.
REST의 구체적인 개념
- HTTP URI를 통해 자원(학생 :
students)을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다.
- 즉, REST는 자원 기반의 구조 (ROA: Resource Oriented Architecture) 설계의 중심에 Resoure가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.
- 웹의 모든 자원에 고유한 ID인 HTTP URI 를 부여한다.
API란?
프로그램들이 서로 상호작용하는 것을 도와주는 매개체

손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)을 정리하고, 주문(명령)을 받으면 요리사(응용 프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달합니다.
프로그램으로 부터 요청을 받고 응용 프로그램과 상호작용 해 요청된 명령에 대한 값을 전달 해준다.
역할
- 서버와 DB에 대한 출입구 역할
: DB로의 제한된 접근
- 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다.
- 모든 접속을 표준화한다.
: 기계, 운영체제 등과 상관없이 누구나 동일한 엑세스를 얻을 수 있다. 쉽게 말해, 범용 플러그처럼 작동한다.
RESTful API
- HTTP와 URI 기반으로 자원에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스이다. 기본적으로 개발자는 HTTP 메소드와 URI 만으로 인터넷에 자료를 CRUD 할 수 있다.
- 'REST API'를 제공하는 웹 서비스를 'RESTful' 하다고 할 수 있다.
- RESTful은 REST를 REST 답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것은 아니다.
RESTful 한가?
- 웹 뿐 아니라 여러 플랫폼에서 모두 사용할 수 있는 서버이다.
- HTTP Method를 사용한다.
- JSON을 사용한다.
참조
https://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/