_먼저 손님이 종업원을 손을 들어 호출하거나, 벨을 눌러 호출할것이고, 그런 다음 종업원이 오게되면 메뉴판에 있는 선택하고 이거 주세요! 라고 주문을 할것이다.
그런다음 종업원은 알겠습니다 갔다 드릴게요~ 하고 주방에 가서 무슨 주문이 왔는지 이야기하며
주문된 음식을 만들어달라고 주방장에게 이야기 할것이다.
그리고 음식이 나오면 종업원은 음식을 손님에게 서빙하며 음식나왔습니다 손님~ 맛있게드세요^^*
이런식의 흐름이 될것이다.
저 흐름을 그대로 이용해보자
손님 = client
번역하면 의뢰인! 클라이언트는 포괄적인 단어이며, 브라우저를 지칭하는 단어일수도 있고, 어떤때에는 게임클라이언트가 될수도 있다.
종업원 = server
클라이언트가 원하는 정보가 무엇인지 파악해서 database에 요청을 하여 최종적으로 클라이언트에게 정보를 전달해주는 역할, 하지만 원하는 정보가 무엇인지, 그 정보를 우리가 갖고있긴 한건지 한번에 확인할수 있는 방법이 API이다.
식당에 비유하자면 메뉴판으로 비유할수 있겠다.
주방 = dataBase
데이터베이스에는 클라이언트가 원하는 정보가 저장되어 있을것이다.
그런데 어떤경우에는 주방장이 서빙까지 같이 하는경우도 있는데 그런 경우에는 서버와 데이터베이스의 역할이 겹칠것이다. 하지만 안될것은 없지 않은가?
그렇지만 일반적인 의미로는 데이터베이스는 자료를 저장하는곳이다.
API(application programming interface)
위에서 API는 메뉴판이라고 했다.
만약 메뉴판이 없다면 무슨일이 일어날까?
주문이 불가능 하다. 무슨 메뉴가 있는지 하나하나씩 물어보는건 가능하지 않느냐?라고 생각한다면..
메뉴가 1억개라고 가정하겠다.
도중에 배가 고파서 다른 식당으로 가지않을까..? 극단적인 예를 들었다 ㅎ
추가설명을 하자면, 날씨 API를 가져와서 사용한다 라는 말은 내 홈페이지에 기상청의 API, 그러니까 날씨정보를 자동적으로 수신하여 내 페이지속으로 들어가게 할수 있다.
날씨API를 가져와서 자동화 시켜주지 않는다면
내가 매일매일 기상청사이트를 방문해서 날씨정보를 확인한후 그 자료를 직접 내 페이지로 하나씩 넣어주어야 할것이다.
5.REST API
는 다음에..