정보를 요청하는 쪽을 말한다
💡 ※ 브라우저, 휴대폰, IOT 가전 등 상관없이 요청하면 무조건 클라이언트이다나 (고객)을 클라이언트, 은행을 서버라고 해 보자.
은행에서 통장 잔고를 확인하려면
은행과 미리 약속해둔 곳 (예금 창구)에 가서, 약속해둔 데이터(신분증)을 들고 가야, 잔고(응답)을 알려준다.
웹 서버에도 여러 창구가 존재한다. 이 창구를 API 라고 한다.
💡 ex) 배민의 서버에는A. 아이디를 갖고 와 / 주문 내역을 알려줄게
B. 주소를 갖고 와 / 음식점을 알려줄게
C. 주문번호를 갖고 와 / 배달현황을 알려줄게
이런 API가 존재할 것이다.
API는 서버에서 미리 만들어둔 기능이자, 클라이언트 개발자와 서버 개발자가 미리 한 약속이다.
그래야 클라이언트 개발자는 클라이언트 개발자대로, 서버 개발자는 서버 개발자대로 개발을 해나갈 수 있음.
이걸 문서로 적어둔 게 'API 명세서'이다
API는 우리가 매일 보는 URL처럼 생겼다.
ex) 우리은행 용산지점에 (서버위치), 입출금 창구에 가려면 (API 주소), 주민등록번호가 필요하다 (가져가기로 한 데이터)
http://우리은행용산지점/입출금창구?신분증=주민등록번호
= 새로운 기능 창구를 하나 만들어 달라는 것이다 그쪽으로 요청하겠다는 말
= 창구는 다 만들었는데, 요청하는 쪽이 아직 작업 중
누구나 요청할 수 있게 열어 둔 API. 주로 공공데이터이다
(통상 누구나 부르지 못하도록 보안 처리한다 그렇지 않으면 배민, 쿠팡 다 카피할 수 있게 된다)
[요약]
서버는 클라이언트로부터 요청을 받는 API가 있다.
요청 받기 위해 대기하고 있는 게 서버이다
서버는 창구로 요청이 오면 요청에 대한 작업을 수행하는데,
필요에 따라 서버가 갖고 있던 html, css, js를 줄 수도 있고
데이터를 요청하는 경우 데이터베이스를 제이슨 형식 (JSON)으로 줄 수도 있다.