API

DEV_HOYA·2023년 10월 11일
0

CS

목록 보기
3/55
post-thumbnail

📌 API

⭐ 개념

  • Application Programming Interface
  • 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법
  • 컴퓨터 사이에 있는 중계계층
  • 프로토콜(HTTP/HTTPS), 메서드(GET/POST), 데이터타입(XML/JSON)

💡 웹 API

  • 웹 애플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세
  • 과거에는 API가 라이브러리, 프레임워크에 대해 설명하는 명세서 였지만, 현재는 WEB API를 일컫는다.

⭐ 작동방식

⭐ 장점

  • 제공자는 서비스의 중요한 부분을 드러내지 않아도 된다.
  • 사용자는 해당 서비스가 어떻게 구현되는지 알 필요 없다.
  • OPEN API의 경우 개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있다.

⭐ 종류

  • private : 내부적으로 해시키를 사용하여 통신, 기업이 API를 최대한으로 제어할 수 있음
  • public : 많은 트래픽 방지를 위해 하루 요청수의 제한 등 제약사항이 존재, 제3자가 API와 상호작용하는 애플리케이션을 개발하여 혁신을 끌어낼 수 있음

💡 카카오 로그인 API

https://developers.kakao.com/docs/latest/ko/kakaologin/common

💡 SOAP

  • 웹 API가 확산됨에 따라, 정보 교환을 표준화하기 위해 SOAP(Simple Object Access Protocol)라는 프로토콜 사양이 개발되었다.
  • SOAP로 설계된 API는 XML 메시지 형식을 사용하며 HTTP 또는 SMTP를 통해 요청을 수신한다.
  • SOAP를 사용하면 더 간편한 방법으로 애플리케이션을 다양한 환경에서 실행하거나 다양한 언어로 작성하여 정보를 공유할 수 있다.

💡 REST

  • REST 아키텍처의 제약 조건을 준수하는 웹 API를 RESTful API
  • SOAP는 프로토콜이지만 REST는 아키텍처 스타일이라는 근본적인 차이가 있으며 따라서 RESTful 웹 API에는 공식적인 표준이 없다.
  • SOAP보다 더 많이 사용되고 있다.

💡 GraphQL

  • 쿼리 언어이자 서버측 런타임으로 REST의 대안
  • 클라이언트에게 요청한 만큼의 데이터를 제공하는 데 우선순위를 둠
  • 개발자가 단일 API 호출로 다양한 데이터 소스에서 데이터를 끌어오는 요청을 구성할 수 있도록 지원

0개의 댓글