API란 무엇입니까? [빠른 읽기]
게시 됨: 2020-04-25개발자는 아니지만 기술 분야에서 일하는 경우 API라는 용어는 대화식 의미로 이해하는 것일 수 있습니다. 여러분은 그것이 무엇을 의미하는지 알고 있을 것입니다(응용 프로그래밍 인터페이스). 그리고 아마도 여러분의 팀은 API를 사용하여 작업을 수행하거나 심지어 제품 자체일 수도 있습니다(예: Twilio SendGrid).
그러나 API는 정확히 무엇이며 어떻게 작동합니까?
API 이면의 더 깊은 원칙을 이해하면 이러한 기술을 더 잘 마케팅, 판매 또는 사용하는 데 도움이 됩니다.
이 게시물은 API가 작동하는 방식, 개발자가 API를 구축하는 방법, API를 사용하는 방법(실제 예제 포함)에 대해 설명합니다.
API는 어떻게 작동합니까?
웹 브라우저가 서버와 상호 작용하는 방식은 API의 기본 원칙입니다. 웹은 지구 전역에 분산된 원격 서버의 모음입니다. 브라우저를 열고 웹사이트를 입력하면 브라우저는 클라이언트의 서버(웹사이트가 호스팅되는 애플리케이션 또는 서버)를 호출하여 해당 URL에 있는 모든 것을 가져와 표시합니다.
API는 서버 자체가 아니지만 특정 응답을 보내고 받는 서버의 일부인 엔드포인트입니다. API는 끝점을 열어 서로 다른 소프트웨어 조각이 서로 통신(송신 및 수신)하는 방법입니다.
개발자는 애플리케이션이나 웹사이트를 구축할 때 다양한 목적에 필요한 특정 데이터를 검색하기 위해 API 호출을 설정합니다. 예를 들어:
- Instagram 앱을 방금 열었습니까? API 호출로 가능했습니다.
- 다른 웹사이트나 이메일에서 Google 캘린더에 일정을 추가한 적이 있습니까? 해당 사이트는 Google 캘린더 API를 활용하여 Google 캘린더 서버에서 특정 정보를 가져왔습니다.
요약: 개발자는 사용자가 웹사이트에 있거나 애플리케이션을 실행할 때 필요한 정보를 표시하기 위해 특정 데이터 유형을 검색하는 API 호출을 설정합니다.
REST의 부상
아마 들어본 또 다른 용어는 REST API입니다. API의 기존 정의와 크게 다르지 않습니다. 그래도 REST API가 왜 그렇게 인기를 얻었는지, REST API를 다른 API와 구별하는 이유를 이해하는 것은 가치가 있습니다.
초기에 API는 SOAP(Simple Object Access Protocol)의 요구 사항을 충족하도록 구축되었습니다. 그러나 이 방법은 다소 지루하고 데이터 세트를 전송하는 데 많은 대역폭이 필요했습니다. 또한 많은 개발자 에너지가 필요했습니다(재미가 아닌 것처럼). SOAP는 악명 높은 XML 마크업 언어를 사용하여 데이터를 표시합니다. 보편적인 호환성을 보장하는 데 유용하지만 그게 전부입니다.
개발자들은 API 호출을 할 수 있는 더 가볍고 유연한 방법을 찾고 있었습니다. REST(representational state transfer) API는 SOAP API에 대한 대체 솔루션을 제공합니다. 특정 프로토콜에 의해 제한되지는 않지만 특정 아키텍처 스타일을 충족해야 합니다(이에 대해 자세히 알아보려면 여기로 이동하세요).
서버는 XML 마크업으로 표시되는 대신 경량 JSON 언어(텍스트 파일만)를 대신 사용합니다. REST API는 일반적으로 URL일 뿐인 SOAP보다 대역폭이 훨씬 가볍고 웹에서 통신하는 데 자연스럽게 최적화되어 있습니다.
요약: REST API를 데이터의 Marie Kondo로 생각하십시오. 그들은 필요한 것만 *정확하게* 취하고 사용합니다. SOAP API는 현재 화장지로 가득 찬 이웃의 차고와 같습니다.
다양한 API 유형 이해
API가 따르는 프로토콜이나 스타일에 관계없이 다음과 같은 여러 유형의 API가 있습니다.
- 개방형 API – 공개 API라고도 하는 이 끝점은 모든 개발자가 액세스할 수 있으며 일반적으로 사용자에게 제한을 두지 않습니다. 그들은 일반적으로 기부를 받습니다.
- 파트너 API – 함께 사용하도록 설계된 API이며 일반적으로 일종의 마켓플레이스에서만 액세스할 수 있습니다.
- 내부 API – 회사에서 직원의 효율성을 높이거나 직원이 데이터/정보를 공유할 수 있는 보다 안전한 방법을 제공하기 위해 사용하는 내부 도구입니다.
- 복합 API – 복합 API는 관련되어 있지만 일반적으로 개별 API 호출이 필요한 API 호출을 통합하는 방법입니다.
API의 실제 예
사용자가 다양한 애플리케이션에 액세스하는 데 도움이 되는 수많은 API가 있습니다(일부는 15,000개 이상으로 집계됨). 다음은 API 생태계의 범위를 이해하는 데 도움이 되는 몇 가지 주목할만한 사항입니다.
칵테일 DB
지역 주류 판매점을 운영하고 있고 웹사이트에서 칵테일 레시피를 제공하려고 한다고 가정해 보겠습니다. 위의 칵테일 DB API 사용을 고려할 수 있습니다. 그 모든 데이터(칵테일 레시피)는 이미 다른 사람의 서버에 존재하며 API를 통해 평가할 수 있습니다.
사용자가 마가리타 레시피(아마도 우수한 칵테일)를 클릭하면 서버에서 특정 레시피가 JSON으로 전송되는 것을 발견하고 웹사이트를 선택하고 웹사이트 브라우저에 표시할 수 있도록 HTML 및 CSS로 구문 분석합니다.
OpenWeatherMap
웹사이트에 날씨 섹션을 추가하는 것은 매우 일반적인 사용 사례입니다. 스키 리조트, 자전거 가게 또는 여행사를 생각해 보십시오. OpenWeatherMap API는 모든 일기 예보와 정보를 저장하고 요청한 부분만 표시합니다.
이 API는 표시하려는 데이터의 양에 따라 무료 및 프리미엄 버전을 모두 제공합니다.
SendGrid 이메일 API
SendGrid 이메일 API는 SMTP(단순 메일 전송 프로토콜)를 활용하여 고객이 대량의 트랜잭션 및 트리거된 이메일(암호 재설정, 계정 확인 및 배송 알림)을 보낼 수 있도록 합니다.
트윌리오 SMS
Twilio SMS API는 애플리케이션에 메시징 기능을 추가하는 방법을 제공하는 또 다른 REST API입니다. SMS 메시징은 실시간으로 개별적이기 때문에 브랜드가 고객과 의사 소통하는 방법으로 점점 인기를 얻고 있습니다. 이러한 메시지는 훨씬 더 높은 비율로 읽혀집니다.
API 사용 방법
귀하 또는 귀하의 팀이 API를 사용하기 시작하기 전에 API가 개방형인지, 파트너 서비스와 함께 사용되는지 또는 복합 기능인지 아는 것이 중요합니다.
API를 시작하는 방법
문서를 읽으십시오. 모든 API에는 따라야 할 해당 문서가 있어야 합니다. 어떤 종속성, API 유형 및 사용 방법이 있는지 알려줍니다. 부실한 문서는 귀하와 귀하의 개발자에게 위험 신호가 되어야 합니다. 우리는 Twilio와 SendGrid의 뛰어난 문서를 매우 자랑스럽게 생각합니다.
API 키를 생성합니다. 사용을 시작하려면 API 키를 생성해야 합니다. 다음은 Google Maps API의 지침입니다.
참고 : API 키를 절대 공유하지 말고 GitHub에 넣은 공개 코드에 표시되지 않도록 하십시오.
빌드 시작: SendGrid Email API를 사용하여 무료로 이메일 보내기
나머지는 당신에게 달려 있습니다! API로 작업할 때 기회는 정말 무궁무진합니다. Twilio API로 작업할 수 있는 모든 기회를 보려면 Twilio Code Exchange를 확인하십시오.
SendGrid Email API를 사용하여 무료 이메일을 보내는 데 관심이 있다면 여기를 확인하십시오.