ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • API
    CS지식 2023. 8. 29. 15:21

    API(Application Programming Interface)

    • 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미
    • 프로토콜, 메서드, 데이터타입 등이 정의된 중계 계층

     

    인터페이스(intergace)

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

     

    API의 작동방식

    • API는 다음과 같이 중계계층으로 끼어져있어서 작동

    • 사용자가 브라우저를 통해서 서버에 요청을 하게 되면 API가 중계계층역할을 하며 요청을 처리
    • 직접 서버의 데이터베이스에 접근 하는 것을 방지하기도 함

     

    API의 장점

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

     

    API의 종류

    • private : 내부적으로 사용.
      주로 해시키를 하드코딩해놓고 이를 기반으로 서버와 서버 간의 통신
      이는 비즈니스 파트너와도 사용될 수 있음 -> 비밀스럽게 해당 파트너와 해시키를 공유하여 통신
    • public : 모든 사람이 사용할 수 있음
      많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리

     

    'CS지식' 카테고리의 다른 글

    디자인패턴(1)  (2) 2023.09.04
    개발자 기본지식  (0) 2023.09.02
    CI/CD  (0) 2023.09.02
    클라우드  (0) 2023.08.31
    데이터교환형식  (0) 2023.08.28

    댓글

Designed by Tistory.