
API: 메뉴판 → 메뉴판을 보고 어떤 음식이 있는지 확인할 수 있어 일종의 **‘사전에 약속된 규칙’**이라고 할 수 있음
메뉴판은 단지 문서에 불과
⇒ API도 권장하는 어떤 규칙으로 결과나 return 값을 받아야 실체가 있다고 할 수 있음
API Server: 웨이터 → 손님이 요청을 할 수 있게 중간다리 역할을 함 + 요청을 처리하고 response나 return 값을 손님에게 전달
Service server: 쉐프 → 손님의 요청을 실질적으로 처리하는 일을 함
API 응답: 보통 전달받는 응답은 json 형태

HTTP request: 한 컴퓨터가 다른 컴퓨터에 리소스 요청을 보냄
CRUD에 사용되는 HTTP 메소드: GET, POST, PUT/PATCH, DELETE
** CRUD : 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말
HTTP response: HTTP 규약에 따른 응답
예시

REpresentational State of Transfer
웹에서 활용하게 되는 API가 REST의 가이드라인들은 다 따르면 해당 API를 RESTful API라고 칭함
REST 아키텍쳐는 HTTP를 사용할 때 일종의 가이드라인을 제시해서 웹 API의 혼란 속에 질서를 세우려고 하는 것
REST API에서 GET 활용 예시 : GET 요청은 REST 에서 정보나 리소스를 가지고 올 때만 사용하라고 제시됨 = 즉 서버에 기록된 데이터나 리소스를 변경할 때 사용해서는 안된다는 뜻
GET 요청 예시를 보겠습니다:
HTTP GET <http://www.appdomain.com/users>HTTP GET <http://www.appdomain.com/users?size=20&page=5>HTTP GET <http://www.appdomain.com/users/123>HTTP GET <http://www.appdomain.com/users/123/address>/users 로 끝나고 서버에 기록된 유저들을 가져올 거라고 예상 가능? 뒤에 오는 항목들)를 통해 페이지와 개수를 정해주고 있음123 에 일치하는 유저를 가지고 올 거라는 예상 가능address 정보만 가지고 올 거라는 예상 가능