데이터 통신기초 이론

채재헌·2024년 7월 23일
0
post-thumbnail

HTTP 통신


사실 예전에 HTTP에 대한 내용을 자세히 다룬적이 있어서
여기서는 간단하게 소개정도만 하고 넘어가겠다..ㅎㅎ

자세한 내용을 원하면 제가 정리한 링크에 들어가서 확인하기 바랍니다.


HTTP란 두 컴퓨터간에 텍스트 데이터를 주고 받는 길이다.

FTP=> File Transfer Protocol
SMTP=>Simple Mail Transfer Protocol
HTTP=> Hyper Text Transfer Protocol

현재 내가 소개할 것은 HTTP 통신에 대해 알아 보겠다.


HTTP 요청(Request)과 응답(Response)


HTTP요청(Request)

웹브라우저에서 홈페이지(Front-end)가 실행중이라면, 작성한 게시물 텍스트 데이터를 HTTP를 통해 Back-end 컴퓨터로 보내고 Back-end 컴퓨터에게 이 데이터를 데이터베이스에 저장 해달라고 요청한다.


HTTP 응답(Response)

요청을 받은 Back-end 컴퓨터가 성공, 실패 등 처리 결과를 응답한다.


<요청과 응답을 할때 보내지는 형태>

JSON [Javascript Object Notation(문자열)]

HTTP 요청과 응답 할때 텍스트에 보내지는 형태는 객체이고 이러한 객체를 주고받을때 객체로 보내줄수 없기 때문에
이를 JSON형태의 문자열로 변환시켜 텍스트 형태로 변경해서 보낸다.


<데이터베이스에 바로 요청을 하면 안될까??>

데이터 베이스에 바로 요청이 안되는 이유는 Back-end에서 검증과정을 거쳐야하기 때문에 아무나 데이터베이스에 요청을 할 수가 없다.


API란

API는 HTTP 요청을 Back-end 컴퓨터에 보냈을때 실행되는 Back-end 기능으로 종류는 크게 rest-API, Graphql-API로 2가지가 있다. 만약 게시물이 아닌 프로필 데이터를 저장하고 싶으면 여러개의 HTTP라는 길이 존재해야 되고, 각각의 요청마다 담당자가 필요하며 우리는 이 담당자를 API라고 부른다.


API의 종류

API의 종류는 크게 rest-API, graphql-API로 2가지가 있다.


Graphql-API의 탄생계기

기존의 REST-API는 브라우저에서 불필요한것까지 응답을 받아 페이지가 나오는데 속도가 조금 걸리게된다. 그래서 페이스북에서 이러한 문제점을 발견하고 브라우저에서 필요한 값만 응답받아 쓸 수 있도록 GRAPHQL을 만들게 되었다.


* 그럼 REST API는 배울 필요없을까?

배워야되는 이유

1) 많은 회사가 REST API를 사용

2) 취업한 회사에서 REST를 사용할 수 있음

3) OPEN-API에서 일반적으로 REST를 제공


rest-API와 graphql의 차이점

1. 함수 이름의 차이

rest-API는 API 이름이 마치 홈페이지 주소처럼 생겼고, graphql-API는 API이름이 일반적인 함수와 같다.

2. 결과물의 차이

rest-API는 응답결과로 back-end 개발자가 만든 함수에서 보내주는 모든 데이터를 받아야만 하고, 반면에 graphql-API는 back-end 개발자가 만든 함수에서 필요한 데이터만 골라 받을 수 있다.

rest-API에 요청하는 담당자는 axios이고,
graphql-API에 요청하는 요청 담당자는 appllo-client로 API를 요청하는 담당자도 다르다. 여기서 요청하는 담당자는 Front-end에서 설치하는 라이브러리라고 할 수 있다.

3. 설치해야 할 프로그램의 차이

rest-API와 graphql API를 사용하기 위해서는 프로그램을 설치해야되는데, 여기서 다른 점은 두 API가 사용하는 프로그램이 다르다는것이다. rest-API는 axios를 사용하고, graphql은 appllo-client를 사용한다.


API와 CRUD

API는 크게 4가지 방식으로 구분할 수 있다.

  1. 새로운것을 생성하는 API => Create
  2. 기존의 것을 조회하는 API => Read
  3. 기존의 것을 수정하는 API => Update
  4. 기존의 것을 삭제하는 API=> Delete
    +..
  5. 목록



내용 정리


API 명세서

API 명세서는 API 사용 설명서이다.
홈페이지를 만들기 전, Back-end 개발자가 만들어놓은 API가 몇개 있고, 어떻게 구성되어있는지 확인하기 위해 필요하다.

API명세서는 Back-end 개발자에게 받아야되며, Back-end 개발자는 자신이 만든 API를 직접 문서 형태로 작성하거나 swagger라는 프로그램을 설치해서 만들어야된다.

0개의 댓글