TIL day 03

어니언·2023년 1월 11일
0
post-thumbnail

오늘은 통신에 대해서 학습을 하였다.

HTTP와 REST-API, Graph-API 에대해서 개념과 학습용으로 만들어진 페이지를 통해 반복숙달을 하였다.

HTTP는 컴퓨터 사이 데이터를 주고받을 수 있는 도구들 중 하나이다.

HTTP는 Hyper Text Transfer Protocol 의 약자로 양 컴퓨터 사이의 텍스트 데이터들을 주고받는 길을 말한다.

위의 사진에서 보듯 HTTP라는 길로 요청(Request)과 응답(Respond) 2가지를 서로 주고받는다.

HTTP 요청(Requset)
브라우저에서 프론트엔드 컴퓨터가 실행중 작성한 게시물의 텍스트 데이터들을 HTTP로 연결된 길을 통해 백엔드컴퓨터로 DB에 저장요청을 하는 것을 말한다.

HTTP 응답(Respond)
프론트엔드 컴퓨터에서 요청을 받은 백엔드 컴퓨터가 DB에 저장성공 또는 실패에대한 처리결과를 응답하는 것을 말한다.

#참고 백엔드 컴퓨터는 응답을 할 때, 상태코드를 함께 보내준다. HTTP 상태코드는 100~599까지의 숫자로 구성되어 있으며 각각 숫자별로 의미하는 것이 있다. 대표적인 상태코드로는 200(성공), 404(프론트엔드 에러), 500(백엔드에러)가 있다. 다양한 HTTP상태코드를 보려면 https://developer.mozilla.org/ko/docs/Web/HTTP/Status 사이트를 참고하면 된다.
''

API
API는 Application Programming Inerface의 약자로, 문자그대로 해석을 해보면 애플리케이션을 프로그래밍하는데 쓰이는 인터페이스이다.
인터페이스는 쉽게 우리가 컴퓨터를 하기위해 만지고 보게되는 화면, 키보드,마우스등 모든것을 의미한다. 즉, 사용자와 기기를 연결해주기 위한 중간역할을 하는 지점이라생각하면 된다.
API는 HTTP요청을 백엔드컴퓨터에 보냈을 때 실행되는 백엔드 기능이다.

API의 종류는 2가지가 있다.

첫번째는 REST-API, 두번째는 GraphQL-API가 있다.

REST-API는 가장 많이쓰이고, 오래쓰인 API 종류인데 API의 이름은 홈페이지 주소와 비슷하게 생겼다.
REST-API는 응답결과로서 백엔드 개발자가 만든 함수에서 보내주는 모든 데이터들을 받아야하기 때문에 일부 필요없는 자료가 있을 경우 시간소요가 Graph-API에 비해 상대적으로 길다.
앞글자를 따서 읽는것이다.
HTTP메서드를 통해 해당자원에 대한 명령어가 있는데 대표적으로 5가지가 있다.
POST - Create(생성하기) - 올리는 요청
PUT(전체) / PATCH(일부) - Update(변경하기) - 바꾸는 요청
GET - Read(읽어오기) - 불러오는 요청
DELETE - Delete(삭제하기) - 지우는 요청
등이 있다.

GraphQL-API는 페이스북에서 REST-API의 단점을 보완해서 만든 API이다. REST-API의 경우 모든 데이터들을 받아야하는 점을 보완하기위해 필요한 데이터만 골라서 받을 수 있다는 장점이 있어, 상대적으로 REST-API보다 빠르며 효율적인 통신이라고 할 수 있다.

API의 요청결과 타입(JSON)
API요청의 결과를 보면 key와 value처럼 생겼다.

{ 작성자 : "철수",
제목 : "안녕하세요"
}

JSON은 JavaScript Object Notation의 줄임말로 JavaScript 객체들을 나타내는 대표적인 표현기법이다.

profile
안녕하세요.

0개의 댓글