REST는 'Representational State Transfer'의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것으로 CRUD operation을 적용하는 것을 의미한다.
💡 여기서 CRUD operation이란 등록, 조회, 수정, 삭제와 같은 기본적인 데이터 처리 기능을 의미한다.
C
: create
R
: Read
U
: Update
D
: Delete
GRAPHQL은 'Graph Query Language'의 약자로 Facebook에서 만든 쿼리 언어이다. Rest-API를 보완하려 만들어진 API이다.
ex) https://naver.com/board/1
ex) board(1)
Axios
(Promise API기반의 HTTP 비동기 통신 라이브러리)를 사용함.Apollo client
(Graphql-API를 호출하기위한 라이브러리)를 사용함.없음.
요청시 해당되는 데이터가 모두 응답됨.있음.
Front-end쪽에서 필요한 데이터만 요청할 수 없다.
넘겨주는 데이터들, 텍스트들의 길이가 길면 길수록 속도가 느려진다.
데이터들이 많아지면 용량이 늘어난다. ⇒ 전송비용 즉, 네트워크에서 데이터를 주고받을 때 지불되는 인터넷 비용이 증가한다.
용량이 무거우니까 무겁다.
Front-end쪽에서 원하는 데이터만 요청할 수 있다.
용량이 작으므로 가볍다. => 전송비용을 조금만 내도 된다.
얼마만큼 효율적으로 데이터를 전송해줄 수 있을 것인지
가 관건이다.