[개념] API Server란 무엇인가?

2023. 1. 28. 15:16· Info/개념 정리
목차
  1. 들어가기 앞서..
  2. API?
  3. API 서버?
728x90

 

들어가기 앞서..

API 서버에 대해 알아보기 전, 우선적으로 API에 대해 알아봐야한다. 평소 API란 말을 많이 들어왔고, 사용도 해보았지만 제대로 개념을 알지 못했었다. 이번 기회로 간단하게 정리를 해보려고 한다.

 


 

API?

API는 Application Programming Interface의 약자로, 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 다시말하면, 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다.

예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어있다고 할 때, 유저가 날씨를 어플을 통해 확인하기 위해서는 날씨 어플이 API를 통해 기상청의 소프트웨어 시스템과 '대화'하여 날씨 정보를 가져오는 것이다.

API는 사용하는 방법과 용도에 따라 Open API, 비공개 API가 존재한다. Open API는 말 그대로, 누구나 쉽게 접근하여 정보를 공유하기 위해 만들어진 API이며,  비공개 API는 권한이 있는 일부 사용자들에게만 정보를 제공하기 위해 만들어진 API이다. 

아래에 나와있는 공공데이터 포털에서 오픈 API에 접근하여 정보를 사용할 수 있다.

https://www.data.go.kr/

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

 


 

API 서버?

 

다시 말해, API는 프로그램과 프로그램을 연결시켜주는 매개체이다.

이를 생각하면, API는 간단하게 설명이 가능한데, API를 제공해주는 서버를 말하는 것이다. API 서버는 데이터만 제공해주기 때문에 클라이언트의 기술이 어떻게 이루어지는지는 중요하지 않고, API 서버의 데이터를 여러 형태로 사용하는 것이 가능하다.
예를 들어, 모바일 어플의 경우를 생각해봤을때, 해당 어플(클라이언트)는 정보를 보여주는 껍데기이고, 해당 어플에서 보여주는 정보는 API 서버에서 끌어오는 정보들이다. 이렇게 만들어 주는 이유는 다음과 같다.

  1. 변경된 정보가 즉시 다른 이용자들에게도 업데이트가 필요하기 때문이다.
  2. 수많은 데이터를 클라이언트마다 저장하고 가져오는 방식은 극심한 공간 낭비이다.
  3. 권한이 없는 데이터까지 클라이언트에 저장하는 것은 보안상에 문제가 발생한다.

이러한 이유로 API 서버에 데이터를 저장하고 가져오는 방식을 사용하는 것이다. 여기서 어플에서 정보를 가져올 때, 요청을 보내는 방법을 약속해둔것이 API이다. 

현재 거의 모든 서비스는 서버와 클라이언트를 분리하고, 자신만의 API를 만들어서 클라이언트가 데이터를 이용할 수 있도록 한다. 그리고 그 API를 제공해주는 것이 API 서버인 것이다.

 

 


 

참고:
https://aws.amazon.com/ko/what-is/api/
https://steemit.com/kr/@yahweh87/it-api
https://maily.so/grabnews/posts/b2341a
https://hanqyu.github.io/blog/what-is-api-server/

728x90
저작자표시 (새창열림)
  1. 들어가기 앞서..
  2. API?
  3. API 서버?
'Info/개념 정리' 카테고리의 다른 글
  • [개념] 객체 지향 설계의 5가지 원칙 (SOLID 원칙)
  • [개념] CORS(Cross-Origin Resource Sharing) 란 무엇인가?
  • [개념] Remember me(Spring Security) 기능은 무엇인가?
  • [개념] OAuth 란 무엇인가?
soohykeee
soohykeee
Computer Science. 2017~2023 / Java, Spring, Backend
soohykeee
Coding_
soohykeee
전체
오늘
어제
  • 분류 전체보기
    • 회고
    • Info
      • 개념 정리
      • 정보
    • Study
      • Pet-Clinic-Project
      • Concept
    • Inflearn
      • 스프링 핵심 원리_기본편
      • Git
    • 코드로 배우는 스프링 부트 웹 프로젝트
      • Guestbook
      • MovieReview
      • Security & API

블로그 메뉴

  • 홈
  • 방명록
  • Github

인기 글

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.1
soohykeee
[개념] API Server란 무엇인가?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.