Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

Developer N

[API] API 란? 본문

STUDY/ETC

[API] API 란?

nnh 2023. 2. 24. 09:37
728x90

API(Application Promgramming Interface) 란?

  • 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
  • API의 맥락에서 '애플리케이션'이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 의미
  • '인터페이스'는 두 애플리케이션 간의 서비스 계약을 의미하며, 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의함
  • API 문서에는 개발자가 요청과 응답을 구성하는 방법에 대한 정보가 있음

 

API 작동 방식

 API 작동 방식 설명
SOAP API 단순 객체 접근 프로토콜 사용
클라이언트 - 서버간 XML을 사용하여 메시지 교환
과거에 많이 사용되었고 유연성이 떨어지는 API
RPC API 원격 프로시저 호출
클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송
Websocket API JSON 객체를 사용하여 데이터를 전달하는 최신 웹 API
클라이언트 앱 - 서버간 양방향 통신 지원
서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적
REST API 현재 웹에서 가장 많이 사용되고 유연한 API
클라이언트가 서버에 요청을 데이터로 전송
  → 서버가 클라이언트 입력을 사용하여 내부 함수 시작 후 출력데이터를 다시 클라이언트에 반환

 

REST API 란?

  • Repressentational State Transfer의 줄임말
  • REST는 클라이언트가 서버 데이터에 엑세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의
  • 클라이언트 - 서버는 HTTP를 사용하여 데이터 교환
  • 주된 특징은 무상태
    • 무상태란 서버가 요청 간에 클라이언트 데이터를 저장하지 않음을 의미
    • 서버에 대한 클라이언트 요청은 웹 사이트를 방문하기 위한 URL가 유사
    • 서버의 응답은 웹 페이지의 일반적인 그래픽 렌더링이 없는 일반 데이터

 

웹 API 란?

  • 웹 서버와 웹 브라우저 간의 애플리케이션 처리 인터페이스
  • 모든 웹 서비스는 API이지만, 모든 API가 웹 서비스는 아님
  • REST API는 표준 아키텍처 스타일을 사용하는 특수한 유형의 웹 API

 

API 통합이란?

  • 클라이언트 - 서버간 데이터를 자동 업데이트하는 소프트웨어 구성 요소
  • 기업은 API 통합을 사용하여 많은 시스템 함수를 효율적으로 자동화 가능
  • 예시
    • 휴대폰 이미지 갤러리에서 클라우드로 데이터 자동 동기화
    • 다른 시간대 여행 시 노트북에서 시간 및 날짜 자동 동기화

 

API의 다른 유형

  • 아키텍처와 사용 범위에 따라 분류
    • 사용 범위에 따른 분류
API 유형 설명
프라이빗 API 기업 내부에 있으며 비즈니스 내에서 시스템과 데이터를 연결하는 데만 사용
퍼블릭 API 일반에 공개되며 누구나 사용 가능
API와 관련된 권한 부여와 비용이 있을 수도 없을 수도 있음
파트너 API  B2B 파트너십을 지원하기 위해 권한이 부여된 외부 개발자만 엑세스 가능
복합 API 두개 이상의 서로 다른 API를 결합하여 복잡한 시스템 요구 사항이나 동작을 처리

 

 

API의 엔드 포인트

  • API 통신 시스템의 최종 접점
  • 서버 URL, 서비스 및 시스템 간에 정보가 송수신되는 기타 특정 디지털 위치가 포함됨
  • 기업에서 API 엔드 포인트가 중요한 이유
    • 보안 : API 엔드 포인트는 시스템을 공격에 취약하게 만든다. 따라서 API  모니터링은 오용을 방지하는 데 중요
    • 성능 : 특히 트래픽이 많은 엔드포인트는 병목 현상을 일으키고 시스템 성능에 영향을 줄 수 있다.

 

API 생성 방법 5단계

  1. API 계획
    • 다양한 사용 사례를 미리 생각하고 API가 현재 API 개발 표준을 준수하는지 확인
  2. API 빌드
    • API 디자이너는 상용 코드를 사용하여 API 프로토타입 생성. 프로토타입이 테스트 되면 개발자는 내부 사양에 맞게 사용자 지정 가능
  3. API 테스트
    • 소프트웨어 테스트와 동일하며 버그 및 결함을 방지하기 위해 수행
    • 성능 테스트를 위해 API 엔드 포인트에 요청을 여러번 함
    • 비즈니스 로직 및 기능적 정확성을 확인하기 위한 단위 테스트 작성
    • 시스템 공격을 시뮬레이션하여 보안 테스트
  4. API 문서화
    • API 문서는 사용 편의성을 높이는 가이드 역할
    • 간단하고 읽기 쉬운 영어로 설명 작성
    • 코드 샘플 사용하여 기능 설명
    • 문서를 정확하고 최신 상태로 유지
    • 초심자를 위한 작문 스타일을 목표
    • API가 사용자를 위해 해결할 수 있는 모든 문제를 다룸
  5. API 마케팅
    • API로 수익 창출 가능

 

API 게이트웨이 란?

  • 광범위한 백엔드 서비스를 사용하는 기업 클라이언트를 위한 API 관리 도구
  • 일반적으로 모든 API 호출에 적용할 수 있는 사용자 인증, 통계 및 속도 관리와 같은 일반적인 태스크를 처리

 

 

참고)

https://aws.amazon.com/ko/what-is/api/

 

API란 무엇인가요? - 애플리케이션 프로그래밍 인터페이스 설명 - AWS

GraphQL은 API용으로 특별히 개발된 쿼리 언어로서, 클라이언트에게 요청한 데이터만 제공하는 것을 우선으로 합니다. 또한 API를 빠르고 유연하며 개발자 친화적으로 만들도록 설계되었습니다. RES

aws.amazon.com

 

728x90

'STUDY > ETC' 카테고리의 다른 글

크롬 DNS 캐시 확인 및 삭제  (0) 2023.03.23
흐름도(Flow Chart)의 의미와 그리는 방법  (0) 2023.03.07
Comments