API 서버
는 쉽게 이야기하면 정보를 제공하는 서버입니다. 우리가 그랩마켓을 만들 때 상품 정보들을 받아오기 위해서 서버에게 요청했었죠? 나중에 회원 정보, 이벤트 정보 등을 받아올 때도 API 서버를 통해서 받아오게 될 거에요.
<aside> 💡 우리가 이전에 상품 정보를 불러올 때 포스트맨 Mock 서버를 활용했어요. 이는 임시 API 서버라고 생각하시면 됩니다.
앞으로 더 다양한 정보 요청을 위해 우리는 Node.js로 서버 개발을 직접 할 거에요!
</aside>
여기서 주의할 점은 API 서버는 정보를 제공해주기는 하나 정보를 저장하지는 않아요. 그래서 정보를 다른 서버나 프로그램에서 가져와야 합니다. 이때 정보를 가져오는 대표적인 장소가 바로 데이터베이스
가 됩니다.
원래 데이터베이스를 통해서 직접 정보를 가져올 수 있으나, 보안을 위해서 API 서버가 대신해서 정보를 전달해줍니다. 그렇게 되면 클라이언트는 데이터베이스에 접근하지 않고 API 서버에게 정보를 요청겠죠.
API는 '프로그램과 프로그램을 연결시켜주는 매개체'입니다. 실제로 프로그램들끼리 통신하는 경우가 정말 많아요.
보통 프로그램끼리 통신을 하기 위해선 프로그램을 만드는 개발자가 해당 프로그램이 잘 통신할 수 있도록 규칙들을 잘 설계하는 게 중요합니다. 그래야 다른 다른 프로그램이 수월하게 통신할 수 있겠죠?
이때 아래와 같은 경우에는 프로그램끼리
접근할 프로그램의 규칙이 잘 짜여지지 않고 복잡한 경우
프로그램 보안 상 외부에서 누구나 사용할 수 없고 제한된 기능들을 간접적으로 제공하고 싶을 때