“Connecting the dots”

REST-API VS GraphQL-API 본문

1주차

REST-API VS GraphQL-API

kims1997 2022. 11. 19. 00:15
반응형

REST API 란?


REST 는 HTTP 프로토콜을 통해 API 를 설계 하기 위한 아키텍처 이다 그래서 개발자는 서버에서 직접 웹 어플리케이션이나 사이트의 사용자에게 데이터를 제공해야 하는 모든 곳에서 REST API 를 사용한다


REST API 의 주요 구성요소


고객-통신을 시작하는 사용자 측 (자신의 장치에서 ) 시작된 클라이언트 또는 프로그램

섬기는 사람 - API 를 기능 및 데이터에 대한 엑세스로 사용하는 서버 

자원-서버가 클라이언트에 전송하는 모든 컨텐츠(비디오,텍스트,사진)

고객-API-SERVER

 


REST API 작동 방식


REST API 는 HTTP 요청읉 통해 통신하요 데이터 생성 ,읽기,업데이트 및 삭제 기능 사용

POST -리소스 생성

GET --- 리소스 가져오기

PUT ---리소스 업데이트 

DELETE - 리소스 삭제 


구조


일반적으로 API 는 앱 대 앱 형식을 따르는 반면 REST 는 다른 구조 (클라이언트-서버) 클라이언트와 서버는 독립적으로 발전


GraphQL-API


어플리케이션 레이어 쿼리 언어이다 GQL은 Structed Qurery Language  와 마찬가지로 쿼리 언어이다

+SQL은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 목적 

+GQL은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 목적

SQL은 문장은 주로 백엔드 시스템에서 작성하고 호출하는 반면, GQL은 문장은 주로 클라이언트 시스템에서 작성 -->> 호출

GQL즉, API를 위한 쿼리 언어 타입 시스텝 서버사이드 런타임 ,

GQL은 위에서 설명한 것처럼 REST API의 한계를 극복하고자 나왔다


장점


+클라이언트가 필요한 데이만 변환

+1번의 호출로 원하는 데이터를 한번에 가져온다


단점


+백엔드,클라이언트 개발자 양쪽 다 러닝커브가 있다 

+단순한,서비스에서는 사용하기가 복잡

+대부분의 언어에서 라이브러리로 제공 

+캐싱 기능의 구현이 복잡


정리


GQL은 REST API 한계점을 해결 API를 위한 쿼리 언어 이다 

GQL은 클라이언트가 서버로 부터 데이터를 효율적으로 가져오는것 목적

반응형

'1주차' 카테고리의 다른 글

"Git " , "Hoisting" , "Scope"  (0) 2022.11.19
HTTP 통신  (0) 2022.11.19
Template Literals ++  (0) 2022.11.19
Destructuring Assignment ( 구조분해할당) ++  (0) 2022.11.19
1주차  (0) 2022.11.16