API를 알아보기 위해서 데이터 통신이라는 것을 이해해야하는데 내 컴퓨터 이외 다른 컴퓨터에서 데이터나 파일을 처리, 전송하고싶을 때 우리는 두 컴퓨터 사이를 이어주는 통신 프로토콜을(간략하게 '길') 통해 처리하게된다.
이때 크게 3가지의 길이 있는데,
HTTP통신에 대해 조금 더 알아보자면,
프론트엔드에서 React를 이용해 코드를 작성할 때 State라는 변수를 활용해 저장한 데이터를 HTTP를 통해 벡엔드 컴퓨터에 데이터 저장을 텍스트로 요청하게되고,
백엔드 컴퓨터는 요청받은 작업이 수행되었다면 프론트엔드에게 작업 진행에 관해 상태코드와 텍스트로 응답해주어야한다.
🛠 Tip !
- 주고 받는 텍스트 형태(데이터 형식 : 객체)가 JSON 파일
- 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 그 결과를 세자리 숫자로 알려주며 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 서버 에러 이렇게 5개의 그룹으로 나뉜다.
성공(200), 프론트엔드-에러(400), 백엔드-에러(500) 등을 볼 수 있는데, 더 많은 상태코드와 관련된 자료는 아래 링크를 참고하자.
[HTTP STATUS CODE 바로가기]
이렇게 데이터를 프론트엔드와 백엔드가 작업을 주고받도록 해주는 것이 바로 API( = 어플리케이션 프로그래밍 인터페이스)이다. 하나의 요청에 응답할 각각의 API가 존재해야하는데 백엔드 개발자는 기본 데이터 처리기능(CRUD)이 포함된 각각의 API를 만든다.
이런 API는 두 가지 종류가 있는데, REST와 graphql이다.
💡 Tip !
코로나 정보 혹은 날씨와 같이 외부 혹은 공공기관과 같은 곳에서 정보를 받아올 경우도 있다.
이것을 외부/공공 API라고 부르는데 보통 REST-API로 만들어져있기 때문에 두가지 다 다룰 필요가 있다.
💡 API 연습이 필요하다면 ?
-> REST : POSTMAN,swagger
-> graphql : Playground