API

이태곤·2023년 10월 17일
0

CS

목록 보기
3/23

1. API

  • 두 개 이상의 소프트웨어 애플리케이션이 서로 상호작용하고 통신하기 위한 규칙(메서드, 데이터교환형식), 프로토콜 등을 정의하는 인터페이스로 중계계층을 의미한다.→ 사용자가 브라우저를 통해서 API를 서버에 요청을 하면 API가 중계계층역할을 수행하여 서버, 데이터베이스를 통해 요청을 처리한다.
    또한 서버나 데이터베이스에 직접적으로 접근하는 것을 방지할 수 있다.

  • 인터페이스 : 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다.
    이를 통해 해당 컴퓨터의 내부서버 또는 데이터베이스 등이 어떻게 구현되어있는지에 상관없이 인터페이스를 통해 통신 등이 가능하다.
    → 네이버 서버가 어떻게 동작하는지 알지 못해도 특정 페이지를 클릭해서 접속하면, 원하는 콘텐츠들을 받아볼 수 있다.

  • API 장점

    1. 제공자는 서비스의 중요한 부분을 드러내지 않아도 됩니다.
      → DB 설계, 구조, 서버 로직을 클라이언트에게 노출하지 않아도 된다.
    2. 사용자는 해당 서비스의 내부로직, 데이터베이스 설계 구조 등을 모르더라도 API 요청을 통해 필요한 정보만을 받을 수 있다.
    3. OPEN API를 사용하여 개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있다.
      → 소셜로그인, 날씨 API
    4. 내부 로직이 수정되더라도 API를 매번 수정할 필요가 없다.
      → 예를 들어, DB 튜닝과 같은 내부 로직 개선 작업이 필요할 때, API를 통한 인터페이스는 외부에 공개된 방식을 유지하면서 내부 변경이 이루어질 수 있도록 한다.
      따라서, 호출 API는 동일하므로 매번사용자가 웹/앱을 업데이트하는 일이 줄어들 수 있다.
      → API의 경우 V1, V2 등의 버전 관리를 통해, 업데이트가 발생하더라도 사용자가 기존 버전을 유지하다가 특정 기한까지 버전 업데이트를 요청할 수 있다.
    5. 제공자는 데이터를 한곳에 모을 수 있다.
      → 특정 아이템을 클릭했을 때 API를 호출하게 만들어 방문자 수집 및 조회수 관리 등을 가능하게하고 해당 값들을 DB에 저장하여 활용할 수 있다.
      ex) 베스트셀러, 실시간검색어
  • API 종류

    • private : 내부적으로 서버간, 비지니스 파트너간 통신에 사용된다.
      상호간에 해시키를 공유하여 암호화 된 값들로 통신한다.
    • public : 모든 사람이 사용할 수 있는 API이며, 많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇개 등으로 관리한다.

0개의 댓글