
API
- Application Programming Interface
- 응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
API 종류
- FE 가 BE 에게 정보 요청할 때, 규칙에 맞게 해야함
- BE 에서 API 만들고 주소, 사용규칙 공개
- Open API
- FE → BE 정보 요청 : request 요청
- DE → FE 정보 전달 : response 응답
- 공개된 BE를 이용하고, FE만 만들어 쓸 수 있음
- Severless
- 지도(Naver Maps 등), 채팅(socket.io), AI(Cloud Vision API)
REST API
- 프론트엔드와 백엔드가 소통하는 엔드포인트, RESTful API
- REST 란 HTTP 표준을 기반으로, 서버와 클라이언트가 데이터를 주고 받는 방식을 말합니다.
- REST 는 HTTP URI 를 통해 리소스를 명시하고,
HTTP 메소드를 통해 해당 자원에 대한 CRUD Operation 적용하는 것입니다.
- 일반적으로 앱이나 웹 상에서 작동하는 어플리케이션을 개발할 때는 주로 HTTP 나 HTTPS 프로토콜을 사용하여 API 를 만들게 되는데,
이때 일종의 약속을 통해 이 API 가 어떤 동작을 수행하는 API 인지를 명확하게 정의해야 하며, 이 API 과정에서 우리가 사용할 수 있는 요소들이 바로 HTTP 메소드와 URI 입니다.
- REST는 통신을 통해 자원의 표현된 상태를 주고받는 것에 대한 아키텍처 가이드라인
RESTful API
- REST 라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 언어
- REST API 를 제공하는 웹 서비스를 ‘RESTful’ 하다고 할 수 있음
- 이해하기 쉽고 사용하기 쉬운 REST API 를 만드는 것
- RESTful한 API를 구현하는 근본적인 목적이 성능 향상에 있는 것이 아니라, 일관적인 컨벤션을 통해 API의 이해도 및 호환성을 높여주는 것이 주 동기이므로, 성능이 중요한 상황에서는 굳이 RESTful 한 API 구현할 필요 없음