IT지식/Computer Science

API란?

맨땅에헤딩개발자 2024. 12. 26. 12:55

API(API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자

컴퓨터 사이에 있는 중계계층을 의미한다.

가령 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 가정했을 때

어떻게 통신(HTTP, HTTPS 프로토콜)할 것 인지?,

어떠한 데이터형식(XML,JSON)으로 주고 받을 것 인지?,

어떠한 방식(GET, POST) 등에 대한 방법이 정의된 중계계층이다.

 

 

API의 작동방식

 

사용자가 브라우저를 통해 서버에 요청을 하게되면 API가 중계계층 역할을 하며 요청을 처리하는 것을 볼 수 있습니다.

직접 서버의 데이터베이스에 접근하는 것을 방지하기도 하는 것을 볼 수 있습니다.

 

 

 

API의 종류

 

- private : 내부적으로 사용됩니다. 주로 해시키를 하드코딩해놓고 이를 기반으로 서버와 서버간의 통신을합니다.

                이는 비즈니스 파트너와도 사용될 수 있습니다. 비밀스럽게 해당 파트너와 해시키를 공유해 통신합니다.

 

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

               관리합니다.

 

 

API의 장점

 

1. 필요한 서비스만 제공할 수 있습니다.

    예를들어 DB설계구조나 테이블정보, 서버의 상수값 등을 드러내지않고 요청왔을 때 필요한 부분만 제공할 수 있습니다.

 

2. OPEN API를 활용하여 앱 개발 프로세스를 단순화시키고 시간과 비용을 절약할 수 있습니다.

    ex) 네이버 로그인api, 날씨제공 api, 교통량 제공api 등

 

3. 내부 프로세스가 수정되었을 경우 사용자가 매번 업데이트를 하는 것이 아닌 불러온 API만 가져다 쓰기때문에

    내부DB나 서버의 로직이 변경되어도 사용자가 앱을 업데이트하는 일은 줄어든다.

 

4. 제공자는 데이터를 한 곳에 모을 수 있습니다.

    예를들어 책을 파는 쇼핑몰을 만들었다고 하면 해당 사이트에 방문하는 방문자, 어떤 특정한 것을 클릭하는

    사용자에 대한 이벤트를 집계하고 싶을 때 해당 API를 만들고 이벤트가 발생하면 데이터를 특정한 곳에

    저장하는 방식을 사용할 수 있습니다.

    ex) 도서 베스트셀러, 자주 검색되는 키워드 등

 

API의 단점

 

1. API가 변경될 경우 기존 프로그램과의 호환성 문제가 발생할 수 있음.

2. 제공되는 API가 제한적인 경우 그 기능만 사용(추가 기능에 대한 제약이 발생)

3. 표준의 부재(공식화된 API 이외의 것들에 대한 표준화가 없어 관리가 어려움)

 

 

출처 - 인프런 강의(큰돌님의 cs지식의정석 중..)

'IT지식 > Computer Science' 카테고리의 다른 글

클라우드 컴퓨팅에 대해 알아보자.  (0) 2024.12.27
클라우드란 무엇인가?  (0) 2024.12.27
XML이란?  (0) 2024.12.25
JSON이란?  (1) 2024.12.25
데이터베이스 인덱스(INDEX)란?  (0) 2024.12.24