웹 API

Web API

API는 웹 서버 또는 웹 브라우저를 위한 응용 프로그램 프로그래밍 인터페이스입니다.웹 개발 개념으로 일반적으로 웹 응용 프로그램의 클라이언트 측(사용 중인 웹 프레임워크 포함)에 한정되므로 원격 웹 응용 프로그램에서 공개적으로 액세스할 수 없는 한 일반적으로 웹 서버나 브라우저 구현 세부 정보(: SAPI 또는 API)는 포함되지 않습니다.

서버측

서버측 Web API는 정의된 요구 응답 메시지시스템에 대해1개 또는 여러 개의 엔드포인트로 이루어진 프로그램인터페이스입니다보통JSON 또는 XML로 표현되며, 이 엔드포인트는 웹을 통해 공개됩니다.대부분은 HTTP 기반의 웹 서버를 통해 공개됩니다.매시업은 여러 서버 측 웹 API를 [1][2][3]조합한 웹 응용 프로그램입니다.Uniform Resource Identifier(URI; Uniform Resource Identifier)로서 입력을 받는 서버측 웹 API입니다.Uniform Resource Identifier(URI; Uniform Resource Identifier)는 리모트네임드 파이프 또는 콜백의 종류와 같이 사용하도록 설계되어 있습니다.이 서버는 제공된 URI를 참조 해제하고 이 이벤트를 처리하는 다른 서버에서 이벤트를 트리거하여 피어 투 피어 IPC를 제공합니다.

엔드 포인트

엔드포인트는 서드파티 소프트웨어로 액세스할 수 있는 리소스가 있는 위치를 지정하기 때문에 서버 측 웹 API와 상호 작용하는데 있어 중요한 측면입니다.통상은, HTTP 요구가 송신되는 URI 를 개입시켜 액세스 합니다.따라서, 이 URI 로부터의 응답이 상정됩니다.웹 API는 공개 또는 비공개일 수 있으며, 후자는 액세스 [4]토큰이 필요합니다.

엔드포인트는 정적인 것이어야 합니다.그렇지 않으면 엔드포인트와 상호작용하는 소프트웨어의 올바른 기능을 보장할 수 없습니다.리소스 위치(및 엔드포인트)가 변경되면 필요한 리소스를 동일한 위치에서 찾을 수 없으므로 이전에 작성된 소프트웨어가 중단됩니다.API 공급자가 웹 API를 업데이트하기를 원하기 때문에 많은 공급자가 엔드포인트를 가리키는 버전 관리 시스템을 URI에 도입했습니다.

자원과 서비스

Web 2.0 Web API 에서는, REST 나 SOAP 와 같은 머신 베이스의 상호작용을 사용하는 경우가 많습니다.RESTful Web API 에서는 HTTP 메서드를 사용하여 URL 인코딩된 파라미터를 통해 리소스에 액세스하고 JSON 또는 XML 사용하여 데이터를 전송합니다.반면 SOAP 프로토콜W3C에 의해 표준화되며 일반적으로 HTTP를 통한 페이로드 형식으로 XML 사용을 의무화한다.또한 SOAP 기반의 Web API는 XML 검증을 사용하여 WSDL 문서로 프로비저닝된 XML 스키마를 활용하여 구조적인 메시지 무결성을 보장합니다.WSDL 문서는 웹 서비스의 XML 메시지 및 전송 바인딩을 정확하게 정의합니다.

문서

서버 측 웹 API는 비즈니스 로직과 상호 작용하기 위한 외부용 인터페이스입니다.많은 기업에 있어서, 이러한 사내의 비즈니스 로직과 그에 수반하는 지적 재산은, 타사와 구별되는 것이며, 잠재적으로 경쟁력을 갖게 하는 것입니다.그들은 이 정보가 노출되는 것을 원하지 않는다.단, 고품질의 Web API를 제공하기 위해서는 충분한 수준의 문서가 필요합니다.문서를 제공할 뿐만 아니라 오류 메시지에서 문서에 링크하는 API 공급자는 Twilio입니다.[5]

그러나 현재 널리 문서화된 서버 측 웹 API [6]디렉토리가 있습니다.

성장과 영향

기업이 오픈 플랫폼 운영과 관련된 성장 기회를 인식함에 따라 모든 개발자가 상호 작용할 수 있는 웹 API의 수는 지난 몇 년 동안 지속적으로 증가해 왔습니다.ProgrammableWeb은 2005년의 [7]105개에서 2013년에 이용 가능한 9000개의 웹 API를 추적합니다.

웹 API는 어디서나 볼 수 있게 되었습니다.웹 API를 제공하지 않는 주요 소프트웨어 애플리케이션/서비스는 거의 없습니다.이러한 웹 API와 상호작용하는 가장 일반적인 형태 중 하나는 트윗, Facebook 댓글, YouTube 비디오 등과 같은 외부 리소스를 내장하는 것입니다.실제로 Disqus와 같이 매우 성공한 회사는 기능이 풍부한 댓글 [8]시스템과 같은 임베디드 가능한 툴을 제공하는 것이 주요 서비스입니다.Alexa Internet 랭킹 상위 100개 웹사이트에서는 API를 사용하거나 자체 API를 제공하고 있습니다.이것은 웹 API [9]전체의 엄청난 규모와 영향을 나타내는 매우 명확한 지표입니다.

사용 가능한 웹 API의 수가 증가함에 따라 보다 정교한 검색 및 검색을 제공하기 위해 오픈 소스 도구가 개발되었습니다.APIs.json은 API와 그 동작에 대한 기계적인 설명을 제공하며, 관련 프로젝트인 APIs.io는 APIs.json 메타데이터 [10][11]포맷에 기반한 검색 가능한 공개 목록을 제공합니다.

비지니스

상업의

많은 기업과 조직이 핵심 비즈니스 클라이언트에 서비스를 제공하기 위해 웹 API 인프라에 크게 의존하고 있습니다.2014년 넷플릭스는 약 50억 건의 API 요청을 받았으며, 대부분은 개인 API [12]내에서 요청되었습니다.

정부 기관

많은 정부가 많은 데이터를 수집하고 있으며, 일부 정부는 현재 이 데이터에 대한 접근을 개방하고 있습니다.일반적으로 이 데이터에 액세스할 수 있도록 하는 인터페이스는 웹 API입니다.웹 API를 사용하면 개발자가 "예산, 공공 사업, 범죄, 법률 및 [13]기타 기관 데이터"와 같은 데이터에 편리하게 액세스할 수 있습니다.

클라이언트 측

클라이언트 측 웹 API는 웹 브라우저 또는 다른 HTTP 클라이언트 내에서 기능을 확장하는 프로그래밍 방식의 인터페이스입니다.원래 이들은 대부분 네이티브 플러그인 브라우저 확장의 형태였지만 대부분의 새로운 브라우저는 표준화된 JavaScript 바인딩을 대상으로 합니다.

Mozilla Foundation은 네이티브 모바일 애플리케이션을 HTML5 애플리케이션으로 [14][15]대체하도록 설계된 WebAPI 사양을 작성했습니다.

Google안전하지 않은 네이티브 플러그인을 안전한 네이티브 샌드박스 확장 및 응용 프로그램으로 대체하도록 설계된 네이티브 클라이언트 아키텍처를 만들었습니다.또한 수정된 LLVM AOT 컴파일러를 사용하여 이 기능을 이식할 수 있게 되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "What is mash-up? - Definition from WhatIs.com". WhatIs.com. Retrieved 2015-11-04.
  2. ^ "Mashup Dashboard". ProgrammableWeb.com. 2009.
  3. ^ Maximilien, E. Michael; Ranabahu, Ajith; Gomadam, Karthik (Sep–Oct 2008). "An Online Platform for Web APIs and Service Mashups". IEEE Internet Computing. 12 (5): 32–43. doi:10.1109/MIC.2008.92. S2CID 14949046.
  4. ^ "Changes coming in Version 1.1 of the Twitter API".
  5. ^ Mulloy, Brian. Web API Design - Crafting Interfaces that Developers Love (PDF). apigee. p. 11.
  6. ^ "API Directory". ProgrammableWeb. Retrieved 2015-11-03.
  7. ^ "9,000 APIs: Mobile Gets Serious". ProgrammableWeb. 30 April 2013. Retrieved 2015-11-03.
  8. ^ "Disqus – The Web's Community of Communities". Disqus. Retrieved 2015-11-04.
  9. ^ "Alexa Top 500 Global Sites". www.alexa.com. Retrieved 2015-11-04.
  10. ^ "APIs.json". apisjson.org. Retrieved 2016-03-14.
  11. ^ "APIs.io - the API search engine". apis.io. Retrieved 2016-03-14.알기 쉽게 하고, 지식을 공유해 주세요.
  12. ^ "Top 10 Lessons Learned from the Netflix API - OSCON 2014, Slide 73". 2014-07-24. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  13. ^ "Tech Trends 2015, API economy". Deloitte University Press. Retrieved 2015-11-03.
  14. ^ "Mozilla's WebAPI Wants to Replace Native Apps With HTML5 Webmonkey Wired.com". 2013-12-05. Archived from the original on 2013-12-05. Retrieved 2022-01-13.
  15. ^ Mozilla WebAPI Wiki

추가 정보