API는 이것보다 훨씬 더 복잡한 개념입니다. 여기서는 간단히 이해를 하고 가겠습니다.
1. API는 서버와 데이터베이스에 대한 출입구 역할을 합니다.
API는 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해줍니다.
2. API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 합니다.
API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 합니다.
3. API는 모든 접속을 표준화 합니다.
API는 모든 접속을 표준화하기 때문에 기계/ 운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있습니다.
위 내용을 예시를 들어 설명해 보겠습니다. 우리가 레스토랑에 있다고 가정해 보겠습니다. 점원이 가져다준 메뉴판의 음식을 고르면, 점원이 주문을 받아 요리사에 요청을 합니다. 그러면 요리사는 음식을 만들어 점원에게 주고, 우리는 점원이 가져다준 음식을 먹을 수 있게 됩니다.
여기서 점원은 손님에게 메뉴를 알려주고, 주방에 주문받은 요리를 요청합니다. 그 다음 주방에서 완성된 요리를 손님께 다시 전달합니다. API는 점원과 같은 역할을 합니다.
API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달합니다. 즉, API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.
애플리케이션/소프트웨어가 API에 데이터 가져오기 request를 보낸다고 가정하면 request를 받는 지점이 필요합니다. 바로 이 요청/호출을 받은 디지털 노드/위치를 API Endpoint라고 합니다.
디지털 노드/위치라고 하면 추상적이게 보일 수 있습니다. 좀 더 쉽게 설명하자면, API 클라이언트가 만든 API 호출에 대한 응답을 가져오기 위해 API호출이 상호 작용해야 하는 애플리케이션/소프트웨어의 경로/위치를 참조하는 URL입니다.
간단한 예를 들어보겠습니다.
사촌에게 편지를 쓰고 여름 캠프에 1,000달러가 필요하다고 언급한다고 가정해 보겠습니다. 이제 사촌만 편지를 받았는지 확인하려면 주소를 정확히 기재해야 합니다. 아파트 정보와 비밀번호를 알려주셔야 합니다. 이러한 세부 정보가 없으면 우편 배달부가 귀하의 편지를 배달할 수 없습니다.
이 예에서 API 생태계와 비교할 때 귀하는 API 클라이언트이고 사촌은 API 서버입니다. 편지는 API 호출이고 사촌의 주소는 Endpoint입니다. 이러한 요청을 완료하려면 사전 정의된 API Endpoint가 있어야 합니다. 그렇지 않으면 API 호출과 API의 사용이 불가능합니다.
https://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/
https://www.wallarm.com/what/api-endpoint