REST API (RESTful API)란,
아키텍쳐의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻한다.
글자 하나하나씩 살펴보자
Rest의 정의는?
Representational State Transfer 의 약자로,
어떤 자원 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미한다
여기서 자원이란, 해당 SW가 관리하는 모든 것이 되며, 이름은 자원의 표현할때의 이름을 의미한다.
즉, 어떤 DB의 학생 정보가 주어져있을때 이것을 자원이라고 할 수 있으며,
학생 정보를 student라는 테이블에 저장할때 이는 'student'라는 자원의 표현으로 저장함을 의미한다
상태 전달이란 데이터가 요청되어지는 시점에 자원의 상태, 또는 정보를 전달하는 것으로,
대부분 JSON 또는 XML을 통해 데이터를 주고 받는 것이 일반적이다.
API는 무엇인가?
SW와 SW간의 상호작용을 통해 요청이나 정보를 보내기 위해서는 그를 위한 지정된 형식, 메뉴얼 등이 있어야한다.
즉 어떤 SW가 다른 SW로 부터 지정된 형식으로 요청을 받을 수 있는 수단을 API라고 한다.
그렇다면, REST API는?
REST API는 데이터를 주고 받는데에 있어서, 개발자들 사이에 널리 쓰이는 일종의 형식이다
오늘날 서버에서 데이터를 주고 받을때 REST란 API가 널리 사용된다.
REST API의 큰 특성은,요청이 어떤 정보나 특성을 지녔는지 요청의 모습 자체만으로도 추론이 가능하다는 점이다.
REST api로 서버에 요청을 보낼때는 HTTP라는 규약에 따라 신호를 전송한다.
api url과 http method를 조합하여 API를 설계하는 방식 ,이게 REST API이다
이런 방식으로 설계하게 되면 API스펙만 봐도 어떤 기능을 하는 API인지 알 수 있다.
데이터 엔지니어는 새로 만들어진 서비스에 데이터를 요청하는 것이 아닌,
기존에 기업에서 잘 작동하고 있는 백엔드에서 데이터가 필요한 사이언티스트들에게 보내줄 수 있는 API를 잘 설계할 수 있어야한다.
이를 위해서 RESTAPI를 설계할 수 있는 것이 중요하다고 생각한다.
'Computer Science > Network' 카테고리의 다른 글
[네트워크/Network] WebSocket이란? (feat. Pooling) (0) | 2022.07.17 |
---|