API - 기능과 필요성

이도형·2024년 4월 27일
1

Web 기본개념📶

목록 보기
2/10

API는 웹을 다루는데 필수적이다.

1) API의 개념

API : Application Programming Interface
*Interface : 서로 다른 두 시스템 사이 정보나 신호를 주고받는 경우의 매개체

두 SW 구성 요소 간 통신을 가능하게 하는 메커니즘

API는 여기서 개인(Client)이 데이터 및 연산을 요청하면 그것에 응답하는 일종의 점원이다.

출처 : Be Geeky

2) REST API

API를 보다보면 REST API라는 것을 볼 수 있다. REST API는 무엇일까?

REST API : HTTP 규약을 잘 따른 API

  • 간단하고 직관적 구조
  • 뛰어난 확장성과 유연성
  • 다양한 데이터 형식 (JSON, XML 등..) 지원
  • 부족한 표준 → 불일치 및 상호운용성 문제 발생
  • 제한적인 HTTP Method 형태 (GET, POST, PUT, DELETE)

RESTful API : HTTP 규약을 매우 잘 따른 API

REST API URL 규칙
*URL : 인터넷 상에서 웹 페이지의 "위치"를 알려주기 위한 규약


3) 그 외 다른 API

i) SOAP API

XML 기반의 프로토콜을 사용

  • 높은 보안성
  • 복잡한 데이터 처리 가능
  • 복잡한 구현
  • REST API 에 비해 낮은 성능

ii) GraphQL API

클라이언트가 필요한 데이터만 요청할 수 있는 쿼리 언어

  • REST API를 대체하기 위해 Facebook에서 만든 언어
  • 모든 요청을 단일 엔드포인트로 처리 → 필요한 데이터만 요청
  • 스키마 기반 → 이해하기 쉽다
    *스키마(Schema) : 데이터베이스를 구성하는 구조와 제약조건에 대해 기술한 것
  • 캐싱이 어렵다
    *캐싱(Caching) : 데이터나 리소스를 임시로 저장해 두어 필요 시 빠르게 접근할 수 있는 기술
  • REST API 에 비해 복잡함

iii) gRPC

Google에서 개발한 고성능 오픈소스 RPC 프레임워크

  • 다양한 언어 지원 → 언어 간 통신 가능
  • HTTP/2 기반 빠른 통신 속도 제공
  • 캐싱이 어렵다
  • 부족한 브라우저 지원
  • 바이너리 형식 → 낮은 가독성

4) OPEN API

OPEN API는 "누구나 자유롭게 사용할 수 있도록 공개된 API" 이다.

국내에는 공공데이터포털, 네이버 Developers, 카카오 Developers 등이 있고,

Spotify (음악 스트리밍 서비스), Deepl (번역 사이트), Zillow (부동산 시장 회사)
등 세계적으로 유명한 기업의 서비스도 이용할 수 있다.


5) API를 웹 개발에서 알아야 되는 이유?

API를 사용하면 웹 개발에서 기능을 확장 시킬 수 있다.
우선 복잡한 기능을 직접 구현하지 않고,
미리 만들어진 다양한 서비스와 통합을 할 수 있다.

또한 표준화, 간소화, 협업의 편리함 등의 장점 뿐만 아니라,
다른 곳의 데이터를 활용하여 웹의 기능을 향상 시킬 수 있다.


글을 마치며

웹 개발을 하기 위해서 API는 더욱 중요해지고 있다.
웹이 진화하고 있고, 양방향 통신 요구로 API의 중요성은 점점 높아져 가고 있다.

또한 하나의 웹 (혹은 앱)에서 여러가지 서비스를 요구하는 것도 늘어나는 추세이다.
이를 위해서 API 공부는 '선택'이 아닌 "필수"이다.

profile
열심히 살고 싶습니다! 일하고 싶습니다 :)

0개의 댓글

관련 채용 정보