-
[개발자 필수 지식] API , interfaceCS 2024. 1. 29. 15:14
API #1 개념
API (API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미합니다
예를 들어 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 했을 때의 어떻게 통신할 것인지, 어떠한 데이터를 주고 받을 건지 등에 대한 방법(HTTP, HTTPS 프로토콜을 사용할 것인지, GET, POST 등의 방식 등..)이 정의된 중계계층을 말합니다. 참고로 API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, Web Socket API 등을 가리키는데 현재를 기준으로 API라고 할 때 보통 WEB API를 기준으로 설명합니다
인터페이스
인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면입니다. 이를 통해 해당 컴퓨터의 내부서버가 어떻게 구현되어있는지는 상관없이 인터페이스를 통해 통신 등이 가능합니다.
API의 장점
- 1. 제공자는 서비스의 중요한 부분을 드러내지 않아도 됩니다
- 2. 사용자는 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보만을 받을 수 있다.
- 3. OPEN API의 경우 앱 개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있습니다.
- 4. 내부 프로세스가 수정되었을 때( DB튜닝 등 )API를 매번 수정하는 것이 아닌 API가 수정이 안 되게 만들 수 있습니다.
- 5. 제공자는 데이터를 한곳에 모을 수 있습니다.
API의 종류
- private : 주로 해시키를 하드코딩 하여 서버간 통신을 한다. 비즈니스 파트너와도 사용함
- public : 모든 사람이 사용 가능. 많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리
'CS' 카테고리의 다른 글
[개발자 필수지식] CI / CD (Continuous Integration / Delivery / Deployment) (0) 2024.01.29 [개발자 필수 지식] 클라우드 (0) 2024.01.29 [개발자 필수지식] 데이터교환형식 - JSON, XML (1) 2024.01.29 [면접 예상질문] React, Recoil, React Query, TypeScript (0) 2023.10.24 [면접 질문 정리] 알고리즘 (0) 2023.03.04