API(Application Programming Interface)

윤준혁·2023년 10월 19일

제대로 이해하는 API | 개발자필수지식

API란?

  • 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미
  • 프로토콜, 메서드, 데이터타입 등이 정의된 중계 계층
  • API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서로 쓰이기도 함
  • 웹상에서 WEB API, Web Socket API 등을 가리키는데 현재를 기준으로 API라고 할 때 보통 WEB API를 기준으로 설명

Interface : 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면. 이를 통해 해당 컴퓨터의 내부 서버가 어떻게 구현되어있는지는 상관없이 인터페이스를 통해 통신 등이 가능

장점

  • 제공자는 서비스의 중요한 부분을 드러내지 않아도 됨 -> DB 설계 구조나 드러내고 싶지 않은 데이터베이스의 테이블 정보, 서버의 상수값 등을 드러내지 않고 드러내고 싶은 부분만 드러낼 수 있음
  • 사용자는 해당 서비스가 어떻게 구현된느지 알 필요없이 필요한 정보만을 받을 수 있음
  • OPEN API의 경우 앱 개발 프로세스를 단순화 시키고 시간과 비용을 절약
  • 내부 프로세스가 수정되었을 때 API를 매번 수정하는 것이 아닌 API가 수정이 안되게 만들 수 있음 -> 내부 DB, 서버의 로직이 변경되어도 매번 사용자가 앱을 업데이트하는 일이 줄어들 수 있음
  • 제공자는 데이터를 한곳에 모을 수 있음 -> 특정 이벤트를 집계하고 싶을 때 데이터를 모을 수 있음

종류

  1. private : 내부적으로 사용, 주로 해시키를 하드코딩해놓고 이를 기반으로 서버와 서버간의 통신

  2. public : 모든 사람이 사용, 많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리

0개의 댓글