API(Application Programming Interface )의 의미

2023. 2. 6. 15:45개발/WEB

728x90

API의 의미

  • 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터사이에 있는 중계 계층을 의미한다.
  • 예를 들어 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 했을 때의 어떻게 통신할 것인지, 어떠한 데이터를 주고 받을 건지 등에 대한 방법(HTTP or HTTPS 프로토콜, GET or POST 등)이 정의된 중계 계층이다.
  • API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, Web Socket API 등을 가리키는데 현재를 기준 API라고 할 때 보통 WEB API를 기준으로 설명된다.
  • API 구조

  • 사용자가 브라우저를 통해 서버에 요청을 하게 되면 API가 중계 계층 역할을 하며 요청을 처리하는 것을 볼 수 있고 직접 서버의 DB에 접근 하는 것을 방지하기도 하는 것을 볼 수 있다.

 

API의 장점

  • 제공자는 서비스의 중요한 부분을 드러내지 않아도 됨. 예를 들어 DB 설계 구조, 테이블 정보, 서버의 상수값 등을 드러내지 않고 드러내고 싶은 부분만 드러낼 수 있다.
  • 사용자는 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보만을 받을 수 있다.
  • OPEN API의 경우 앱 개발 프로세스를 단순화 시키고 시간과 비용을 정약할 수 있음.
  • 제공자의 경우 API를 만들게 되면 내부 프로세스가 수정되었을 때 매번 API를 수정하지 않고 수정이 안되게끔 만들 수 있다. 또한 내부가 변경이 되어도 사용자에게 영향을 주지 않고 변경이 가능하다.
  • 제공자는 데이터를 한곳에 모을 수 있다. 예를 들면 책을 파는 쇼핑몰을 만들었다고 하면 해당 사이트에 방문하는 방문자, 특정 클릭에 대한 이벤트를 집계하고 싶을 때 해당 API를 만들고 해당 이벤트가 발생하면 해당 API를 호출하게 만들면 해당 데이터를 한 곳에 모을수도 있다.
  • 제공자의 경우, API를 이용해 제3자가 만들어낸 앱을 통해 데이터를 수집할 수도 있고, 해당 서비스를 확장해 나갈 수 있으며 홍보에도 도움이 된다. 

 

API의 종류

  • private : 내부적으로 사용함. 주로 해시키를 하드코딩 해서 이를 기반으로 서버와 서버간의 통신을 한다.
  • public : 모든 사람이 사용할 수 있음.

 

728x90