Ett API (Application Programming Interface) är en mjukvaruintermediär som låter två applikationer kommunicera med varandra i ett definierat format som båda förstår. Det hanterar förfrågningar och svar mellan en klient och en server, så att applikationer kan utbyta data och funktioner utan att exponera sina interna funktioner.
Ett API, eller Application Programming Interface, är en mjukvaruintermediär som gör det möjligt för två separata applikationer att kommunicera. Även om de är byggda på olika språk utbyter de information i ett format som båda förstår. När du streamar musik eller betalar online, överför ett API begäran till en server och returnerar svaret. Eftersom API:er endast exponerar definierade data och funktioner, bildar de också en gräns som kan säkras.
Key Takeaways
- Ett API (Application Programming Interface) är en mjukvaruintermediär som låter två applikationer utbyta data och funktionalitet i ett definierat format.
- API:er hanterar en förfrågan från en klient och ett svar från en server, utan att exponera något av systemens interna funktioner.
- Kärndelarna i ett API är slutpunkter (där förfrågningar hamnar), metoder (GET, POST, PUT, DELETE) och själva förfrågan och svaret.
- Vanliga API-stilar och protokoll inkluderar REST (den moderna standarden, vanligtvis med JSON), plus SOAP, XML-RPC och JSON-RPC.
- API-säkerhet bygger på kryptering under överföring (TLS/HTTPS), autentisering (API-nycklar, tokens) och kontroller som hastighetsbegränsning, eftersom API:er är en vanlig attackyta.
Vad är ett API?
Ett applikationsprogrammeringsgränssnitt (API) är en mjukvaruintermediär som gör det möjligt för två separata applikationer att kommunicera med varandra. De två applikationerna kan vara helt olika, byggda på olika språk, men de kan utbyta information i ett definierat format som båda förstår. Varje gång du spelar upp en video på YouTube eller streamar musik använder du ett API bakom kulisserna.
När en klient kommunicerar med en server eller en annan applikation för att hämta information som ska visas för en användare, sker den kommunikationen vanligtvis via ett API. API:et gör det möjligt för en applikation och en server, eller två separata applikationer, att utbyta information på ett kontrollerat och förutsägbart sätt.
Hur fungerar ett API?
Ett enkelt exempel är att betala online med ett tredjepartssystem som Apple Pay. När du klickar på "Betala med Apple Pay" i en webbutik görs en begäran via ett API:
- Begäran: Information om ditt köp skickas från webbplatsen till det externa betalningssystemet via API:et. I själva verket ber webbplatsen det externa systemet att göra något åt det.
- Bearbetning: Det externa systemet bearbetar begäran och förbereder den information som webbplatsen behöver.
- Svaret: Det externa systemet skickar tillbaka nödvändig information till webbplatsen via API:et, och webbplatsen slutför betalningen.
Även om du aldrig ser det sker detta utbyte bakom kulisserna, så hela processen känns smidig och sömlös för dig som användare. Det mönstret för förfrågningar och svar är kärnan i hur varje API fungerar.
De viktiga delarna av ett API
- Slutpunkter: En API-slutpunkt är som en specifik webbadress dit du går för att hämta något specifikt. En vädertjänst har till exempel en slutpunkt dedikerad till att returnera väder för en given plats.
- Metoder: Metoder definierar vad du kan göra med data, som en meny med åtgärder: GET för att hämta data, POST för att skapa något nytt, PUT för att uppdatera det och DELETE för att ta bort det.
- Begäran och svar: När ett program vill ha information eller en åtgärd från ett annat via ett API, skickar det en begäran; det mottagande programmet bearbetar den och skickar tillbaka ett svar. Denna begäran-svar-kommunikation är vad API:er handlar om.
Vanliga API-protokoll och stilar
API-protokoll är de regler och konventioner som dikterar hur system kommunicerar via ett API, och definierar metoder och standarder för datautbyte så att klienten och servern förblir konsekventa och interoperabla. De viktigaste:
- REST (Representation State Transfer): Inte ett strikt protokoll utan en uppsättning principer för webb-API:er; de som följer dem kallas RESTful. REST är den moderna standarden, vanligtvis med JSON över HTTP, och är enkel att använda från språk som Java, Python och Ruby.
- SOAP (Simple Object Access Protocol): Använder XML för att utbyta information HTTP och SMTP, vilket gör det enklare för appar skrivna på olika språk eller på olika plattformar att dela data. Mer rigid och tyngre än REST.
- XML-RPC: Ett äldre protokoll som använder ett specifikt XML-format för att flytta data. Enklare och lättare än SOAP.
- JSON-RPC: Som XML-RPC, men använder JSON istället för XML för att flytta data.
Historiskt sett har "API" ofta inneburit ett sätt för delar av ett enda program att kommunicera med varandra i lågnivåkod. Moderna API:er är vanligtvis webbaserade, följer REST-principer och använder JSON, och GraphQL har också blivit populärt som ett flexibelt alternativ till REST. Detta gör dagens API:er enkla för utvecklare att använda på många språk.
API-säkerhet
Eftersom API:er exponerar data och funktionalitet över ett nätverk, är de en betydande och ofta riktad attackyta, och att säkra dem är där kryptering och identitet kommer in i bilden. Ett API är utformat så att det aldrig exponerar servern för klienten, eller vice versa: det bär bara begäran, och servern returnerar bara den information som passar det definierade formatet. Om en begäran saknar den information eller det format som krävs kan API:et vägra den, vilket begränsar dataexponeringen. Men den strukturella gränsen är bara en del av säkerheten. De viktigaste skydden:
- Kryptering under överföring (TLS/HTTPS): API-trafik bör alltid gå över HTTPS, så förfrågningar och svar (som ofta innehåller inloggningsuppgifter eller känsliga uppgifter) krypteras med TLS och kan inte läsas eller ändras under överföring. Ett API som serveras över vanlig HTTP exponerar allt det bär.
- Autentisering och auktorisering: API:er använder API-nycklar, tokens (som OAuth-åtkomsttokens) eller certifikat för att verifiera vem som ringer och vad de har tillstånd att göra. Företag som Stripe, Google, eBay och Amazon exponerar API:er som skyddas på detta sätt, så att utvecklare kan bygga vidare på dem utan att leverantören tar onödiga risker.
- Styrning och gränsvärden: API:er övervakas, hanteras, versioneras och skalas baserat på observerad prestanda, och hastighetsbegränsning skyddar mot missbruk och överbelastningsförsök.
Kort sagt, ett API:s egen design minskar exponeringen, men verklig API-säkerhet är beroende av stark kryptering under överföring och ljudautentisering, samma byggstenar som säkrar HTTPS och annan webbkommunikation.
Funktioner i ett API
- Standardbaserade: API:er följer etablerade standarder (HTTP, REST, GraphQL), vilket gör dem utvecklarvänliga och allmänt förstådda.
- Behandlas som produkter: API:er är byggda som miniapplikationer för webb- och mobilutvecklare, väl dokumenterade, versionerade och underhållna under hela deras livscykel, med leverantörer som svarar på utvecklargemenskapen.
- Säker och styrd: API:er har åtkomstkontroller (som API-nycklar) och övervakas, hanteras och skalas efter prestanda.
Hur krypteringskonsulting hjälper
API:er är bara så säkra som krypteringen och autentiseringen som skyddar dem, och felkonfigurerad TLS eller svag API-autentisering är en vanlig källa till exponering. Encryption Consultings krypteringsrådgivningstjänster hjälper organisationer att bedöma hur deras API:er och webbtjänster använder kryptering, säkerställa att TLS är korrekt konfigurerat, stärka autentisering och nyckelhantering samt anpassa sig till standarder som NIST och PCI DSS . Stöds av ISO/IEC 27001:2022 och SOC 2-certifierade metoder.
Vanliga frågor om partihandel med mat och dryck
Vad är ett API, enkelt uttryckt?
Ett API (Application Programming Interface) är en mjukvaruintermediär som låter två applikationer kommunicera med varandra. Det tar emot en förfrågan från en applikation, skickar den till en annan och returnerar svaret, allt i ett format som båda sidor förstår. En bra analogi är en servitör på en restaurang: du (en applikation) ger din beställning till servitören (API:et), som tar den till köket (en annan applikation) och kommer tillbaka med din mat (svaret).
Hur fungerar ett API?
Ett API fungerar genom en förfrågan-och-svar-cykel. En applikation skickar en förfrågan via API:et, till exempel genom att be ett betalningssystem att behandla en transaktion. Det mottagande systemet behandlar den förfrågan och skickar tillbaka ett svar med resultatet eller data. Detta sker bakom kulisserna, så upplevelsen känns sömlös för användaren. Förfrågan anger en slutpunkt (vart den ska gå) och en metod (vilken åtgärd som ska vidtas, till exempel GET eller POST).
Vilka är huvuddelarna i ett API?
Huvuddelarna är slutpunkter, metoder samt begäran och svar. En slutpunkt är en specifik adress dit en viss typ av begäran skickas, som en vädertjänsts positionsslutpunkt. Metoder definierar åtgärden: GET hämtar data, POST skapar, PUT uppdaterar och DELETE tar bort. Begäran är vad ett program skickar för att be om data eller en åtgärd, och svaret är vad det andra programmet returnerar.
Vilka olika typer av API-protokoll finns det?
Vanliga API-protokoll och stilar inkluderar REST, SOAP, XML-RPC och JSON-RPC. REST är den moderna standarden, en uppsättning principer för webb-API:er som vanligtvis använder JSON över HTTP. SOAP är ett mer rigida, XML-baserat protokoll. XML-RPC är ett äldre, lättare XML-baserat alternativ, och JSON-RPC är liknande men använder JSON. GraphQL har också blivit populärt som ett flexibelt alternativ till REST för att fråga exakt de data en klient behöver.
Är API:er säkra?
API:er kan vara säkra, men säkerhet är inte automatisk. Ett API:s design begränsar redan exponeringen genom att endast avslöja definierade data och avvisa felaktigt utformade förfrågningar. Verkligt skydd beror dock på att kryptera trafik med TLS/HTTPS så att data inte kan avlyssnas, autentisera anropare med API-nycklar eller tokens och tillämpa kontroller som hastighetsbegränsning. Eftersom API:er är en vanlig attackyta är svag TLS-konfiguration eller dålig autentisering en vanlig orsak till intrång.
Varför är API-säkerhet viktig för kryptering?
API-säkerhet är viktig för kryptering eftersom API:er ständigt flyttar data, ofta känsliga data som inloggningsuppgifter eller betalningsuppgifter, mellan system över nätverk. Om den trafiken inte är krypterad med TLS/HTTPS kan den avlyssnas och läsas. Kryptering skyddar data under överföring, medan autentisering bekräftar vem som anropar API:et. Tillsammans utgör de kärnan i API-säkerhet, vilket är anledningen till att sunda krypterings- och nyckelhanteringsmetoder är avgörande för att skydda API:er.
Säkra API:erna som driver ditt företag
API:er flyttar dina data mellan system hela dagen, och kryptering plus autentisering är det som håller dessa data säkra. Utforska Encryption Consultings krypteringsrådgivningstjänster för att bedöma hur dina API:er och webbtjänster använder kryptering och stärka sitt skydd.
