Web -API
A Web -API ist ein Programmierschnittstelle für beide a Webserver oder ein Webbrowser. Es ist ein Web Entwicklung Konzept, normalerweise beschränkt auf a Internetanwendung's kundenside (einschließlich aller Webrahmen verwendet werden) und enthält daher normalerweise keine Webserver- oder Browser -Implementierungsdetails wie z. Sapis oder APIs, sofern von einer Remote -Webanwendung nicht öffentlich zugegriffen werden.
Serverseite
A Server-Seite Web -API ist programmatisch Schnittstelle bestehend aus einem oder mehrerer öffentlich ausgesetzter Endpunkte einem definierten Request -Reaktion Nachrichtensystem, normalerweise ausgedrückt in JSON oder Xml, was über das Internet ausgesetzt ist - am häufigsten mit einem Http-basierter Webserver. Mashups sind Web Applikationen die die Verwendung mehrerer serverseitiger Web-APIs kombinieren.[1][2][3] Webhooks sind serverseitige Web-APIs, die Eingaben als Einheitliche Ressourcenkennung (URI), das so konzipiert ist, dass sie wie eine Fernbedienung verwendet werden benannte Pfeife oder eine Art von Art von zurückrufen so dass der Server als Client fungiert, um den bereitgestellten URI zu Dereference zu IPC.
Endpunkte
Endpunkte sind wichtige Aspekte der Interaktion mit serverseitigen Web-APIs, da sie angeben, wo die Ressourcen liegen, auf die von Software Dritter zugegriffen werden kann. Normalerweise erfolgt der Zugriff über einen URI, zu dem HTTP -Anfragen veröffentlicht werden und von der die Antwort somit erwartet wird. Web -APIs können öffentlich oder privat sein, wobei letztere eine erfordert Zugangstoken.[4]
Endpunkte müssen statisch sein, ansonsten kann die korrekte Funktion von Software, die damit interagiert, nicht garantiert werden. Wenn sich der Standort einer Ressource ändert (und damit der Endpunkt), wird zuvor geschriebene Software unterbrochen, da die erforderliche Ressource nicht mehr am selben Ort gefunden werden kann. Da die API -Anbieter ihre Web -APIs noch aktualisieren möchten, haben viele ein Versioning -System in das URI eingeführt, das auf einen Endpunkt hinweist.
Ressourcen gegen Dienste
Web 2.0 Web-APIs verwenden häufig maschinenbasierte Interaktionen wie z. SICH AUSRUHEN und SEIFE. RESTful -Web -APIs verwenden Http Methoden zum Zugriff auf Ressourcen über URL-kodierte Parameter und Verwendung JSON oder Xml Daten übertragen. Im Gegensatz, SEIFE Protokolle werden durch die standardisiert W3c und die Verwendung von der Verwendung von Xml als Nutzlastformat normalerweise vorbei Http. Außerdem, SEIFE-basierte Web -APIs verwenden XML -Validierung Um die strukturelle Nachrichtenintegrität zu gewährleisten, durch Nutzung der XML -Schemata bereitgestellt mit WSDL Unterlagen. EIN WSDL Dokument definiert genau die XML -Nachrichten und Transportbindungen von a Internetservice.
Dokumentation
Serverseitige Web-APIs sind Schnittstellen für die Außenwelt, um mit der Geschäftslogik zu interagieren. Für viele Unternehmen sind diese interne Geschäftslogik und das damit verbundene geistige Eigentum sie von anderen Unternehmen unterscheidet, und möglicherweise verleiht ihnen einen Wettbewerbsvorteil. Sie möchten nicht, dass diese Informationen freigelegt werden. Um dort jedoch eine Web -API von hoher Qualität bereitzustellen Bedürfnisse ein ausreichendes Dokumentationsniveau sein. Ein API -Anbieter, der nicht nur Dokumentation liefert, sondern auch in seinen Fehlermeldungen Links dazu verlinkt, ist Twilio.[5]
Es gibt jedoch jetzt Verzeichnisse von beliebten dokumentierten serverseitigen Web-APIs.[6]
Wachstum und Auswirkungen
Die Anzahl der verfügbaren Web -APIs ist in den letzten Jahren konsequent gewachsen, da Unternehmen die Wachstumschancen erkennen, die mit der Führung einer offenen Plattform verbunden sind, mit denen jeder Entwickler interagieren kann. ProgrammableWeb verfolgt 9000 Web -APIs, die 2013 erhältlich waren, gegenüber 105 im Jahr 2005.[7]
Web -APIs sind allgegenwärtig geworden. Es gibt nur wenige wichtige Softwareanwendungen/-dienste, die keine Form von Web -API anbieten. Eine der häufigsten Formen der Interaktion mit diesen Web -APIs ist die Einbettung externer Ressourcen wie Tweets, Facebook -Kommentare, YouTube -Videos usw. Tatsächlich gibt es sehr erfolgreiche Unternehmen wie z. B. Disqus, dessen Hauptservice darin besteht, eingebettbare Tools wie ein featurereiches Kommentarsystem bereitzustellen.[8] Jede Website der Top 100 Alexa Internet Ranged -Websites verwenden APIs und/oder bieten eigene APIs, was ein sehr deutlicher Indikator für die erstaunliche Skala und Auswirkungen von Web -APIs als Ganzes darstellt.[9]
Da die Anzahl der verfügbaren Web -APIs gewachsen ist, wurden Open -Source -Tools entwickelt, um eine ausgefeiltere Suche und Entdeckung zu bieten. Apis.json bietet eine maschinenlesbare Beschreibung einer API und ihrer Operationen, und das zugehörige Projekt APIS.IO bietet eine durchsuchbare öffentliche Auflistung von APIs basierend auf dem Format apis.json-Metadaten.[10][11]
Geschäft
Kommerziell
Viele Unternehmen und Organisationen verlassen sich stark auf ihre Web -API -Infrastruktur, um ihre Kerngeschäftskunden zu bedienen. Im Jahr 2014 Netflix Erhielt rund 5 Milliarden API -Anfragen, die meisten von ihnen in ihrer privaten API.[12]
Regierung
Viele Regierungen sammeln viele Daten, und einige Regierungen eröffnen jetzt den Zugriff auf diese Daten. Die Schnittstellen, über die diese Daten normalerweise zugänglich gemacht werden, sind Web -APIs. Web -APIs ermöglichen Daten wie "Budget, öffentliche Arbeiten, Kriminalität, rechtliche und andere Agenturdaten".[13] von jedem Entwickler auf bequeme Weise zugänglich zu werden.
Client -Seite
A Client-Seite Web -API ist eine programmatische Schnittstelle zur Erweiterung der Funktionalität innerhalb von a Webbrowser oder ein anderer HTTP -Client. Ursprünglich waren diese am häufigsten in Form von Eingeborenen Plug-In Browserverlängerungen Die meisten neueren zielen jedoch standardisiert JavaScript Bindungen.
Das Mozilla Foundation Erstellte ihre WebAPI -Spezifikation, die dazu beitragen soll, native mobile Anwendungen durch zu ersetzen HTML5 Anwendungen.[14][15]
Google erstellte ihre Einheimischer Kunde Architektur, die dazu beitragen soll, unsichere native Plug-Ins durch sichere Native zu ersetzen Sandbox Erweiterungen und Anwendungen. Sie haben dies auch tragbar gemacht, indem sie einen geänderten Einsatz einsetzen Llvm AOT -Compiler.
Siehe auch
- Programmierschnittstelle
- Dynamische Webseite
- Überblick über die RESTful -API -Beschreibung Sprachen
- SICH AUSRUHEN
- Internetservice
Verweise
- ^ "Was ist Mash -up? - Definition von Whatis.com". Whatis.com. Abgerufen 2015-11-04.
- ^ "Mashup Dashboard".ProgrammableWeb.com.2009.
- ^ Maximilien, E. Michael;Ranabahu, Ajith;Gomadam, Karthik (SEP -Oct 2008)."Eine Online -Plattform für Web -APIs und Service -Mashups". IEEE Internet Computing. 12 (5): 32–43. doi:10.1109/mic.2008.92. S2CID 14949046.
- ^ "Änderungen in Version 1.1 der Twitter -API".
- ^ Mulloy, Brian. Web -API -Design - Basteln Sie Schnittstellen, die Entwickler lieben (PDF).Apigee.p.11.
- ^ "API -Verzeichnis". Programmierbar. Abgerufen 2015-11-03.
- ^ "9.000 APIs: Mobile wird ernst". Programmierbar. 30. April 2013. Abgerufen 2015-11-03.
- ^ "Disqus - Die Community der Gemeinschaften des Webs". Disqus. Abgerufen 2015-11-04.
- ^ "Alexa Top 500 globale Websites". www.alexa.com. Abgerufen 2015-11-04.
- ^ "Apis.json". apisjson.org. Abgerufen 2016-03-14.
- ^ "Apis.io - die API -Suchmaschine". apis.io. Abgerufen 2016-03-14.Machen Sie es also klar verständlich und teilen Sie Ihr Wissen.
- ^ "Top 10 Lektionen aus der Netflix API - Oscon 2014, Folie 73". 2014-07-24.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ "Tech Trends 2015, API -Wirtschaft". Deloitte University Press. Abgerufen 2015-11-03.
- ^ "Das Webapi von Mozilla möchte native Apps durch html5 | webmonkey | Wired.com ersetzen". 2013-12-05. Archiviert von das Original Am 2013-12-05. Abgerufen 2022-01-13.
- ^ Mozilla Webapi Wiki
Weitere Lektüre
- Jacobson, Daniel;Woods, Dan;Brail, Greg (November 2011). APIs ein Strategiehandbuch.Sebastopol, Kalifornien: O'Reilly Media. ISBN 978-1-4493-0892-6.
- Mulloy, Brian. Web -API -Design - Basteln Sie Schnittstellen, die Entwickler lieben (PDF).Apigee.
- "Web -APIs". Google Chrome.
- "Web -API -Referenz - Web -Technologie -Referenz". Mozilla Developer Network.
- "Web -API -Demonstration". Web -API -Demonstration.