일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- cs
- solvesql
- 멀티프로세싱
- 라운드로빈
- 세그멘테이션
- 운영체제
- 대외활동후기
- 토스IH
- CICD
- 스레싱
- 페이지교체알고리즘
- sqllite
- discord봇
- SWMaestro
- api정리
- 페이지히트
- SQL
- 힙
- 캐시매핑
- devocean
- 인접리스트
- Docker
- 디코봇만들기
- computerscience
- 페이지폴트
- 소마14기
- 스택
- 디코
- CPU스케줄링
- 이진트리
- Today
- Total
하마코
[CS] API 개념을 정리해보자! 본문
안녕하세요! 하마코입니다. 😊
API 연결도 많이 하고 개념도 대충은 알고 있지만, 정리하며 공부해본 적은 없어서 API를 공부해보려고 합니다!
API
API는 Application Programming Interface의 약자인데요,
둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미합니다.
API는 프로토콜(HTTP/HTTPS/..), 메서드(GET/POST/..), 데이터타입(JSON/XML)이 정의되어 있어요!
API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, WEB Socket API 등을 가리키는데 현재를 기준으로 API라고 하면 보통 WEB API를 기준으로 설명합니다.
풀네임에서 볼 수 있듯 API는 "Interface(인터페이스)"입니다.
인터페이스란 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면을 뜻하는데요.
경계면인 만큼 해당 컴퓨터의 내부 서버가 어떻게 구현되어있는지 몰라도 인터페이스로 통신이 가능합니다.
API의 장점 😊
- 서비스의 중요한 부분을 드러내지 않아도 된다.
: DB 설계 구조, 드러내고 싶지 않은 DB 테이블 정보, 서버 상수값 등을 보여주지 않아도 된다. - 사용자는 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보만 받을 수 있다.
- OPEN API의 경우 앱 개발 프로세스를 단순화시키고 시간과 비용을 절약할 수 있다.
- 내부 프로세스가 수정되었을 때 API를 수정 안 되게 할 수 있다.
: 내부 DB, 서버 로직이 변경되어도 사용자가 앱을 업데이트하는 일은 줄어들 수 있다. - 제공자는 데이터를 한 곳에 모을 수 있다.
: 사이트 방문자, 클릭 이벤트 등의 이벤트를 집계하고 싶을 때 만들고 이벤트 발생 시 호출하게 만들 수 있다.
API 종류
내부적으로 사용되는 private는 주로 해시키를 하드코딩해놓고 이를 기반으로 서버-서버 간 통신을 합니다.
모든 사람이 사용 가능한 public은 많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리합니다.
예를 들어, 네이버 Open API 개발자센터에도 API 일 허용량이 존재하는데요!
검색의 경우 일 25,000회, 단축 URL의 경우 일 25,000회, 얼굴 인식의 경우 일 1,000회 등으로 제한이 되어있습니다.
오늘은 개발자의 필수 지식 API에 대해 알아봤습니다!
도움이 되셨다면 좋아요, 댓글 남겨주세요!
긴 글 읽어주셔서 감사합니다. :)
HAMACO
'DEV > Computer Science' 카테고리의 다른 글
[CS] 네트워크 - TCP/IP 4계층, 3way/4way 핸드셰이크 (0) | 2025.04.13 |
---|---|
[CS] 네트워크 - 트래픽, 토폴로지, 유니/멀티/브로드캐스트, LAN/MAN/WAN (0) | 2025.04.09 |
[CS] 클라우드 - off/on-premise, IaaS, PaaS, SaaS, 컨테이너, 도커 개념 알아보기 (1) | 2025.04.06 |
[CS] 개발자 필수 지식 - CI/CD, 오버라이딩/오버로딩, 추상화, 클래스/객체/인스턴스 (1) | 2025.04.02 |
[CS] 데이터 교환형식 - JSON, 직렬화/역직렬화, XML (5) | 2025.03.29 |