Cloud & IT Cert Prep · Lektion

REST API jämfört med HTTP API och WebSocket API

Förstå avvägningarna mellan REST API (funktionsrikt), HTTP API (låg latens och låg kostnad) och WebSocket API (dubbelriktat) och välj lämpligt alternativ.

Lektion 1 av 413 steg

REST API jämfört med HTTP API och WebSocket API är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Varför API Gateway finns

Amazon API Gateway är en fullständigt hanterad tjänst som låter er skapa, publicera, skydda och övervaka API:er i valfri skala. Den fungerar som ingång för era backendtjänster—Lambda-funktioner, EC2-instanser, HTTP-backendservrar eller valfri AWS-tjänst. API Gateway hanterar trafikstyrning, auktorisering, throttling, övervakning och API-versionering, så att er backend kan fokusera på affärslogik i stället för API-infrastruktur.

REST API: traditionellt API med många funktioner

REST API (den ursprungliga API Gateway-produkten) erbjuder den bredaste uppsättningen funktioner: transformering av begäran och svar med mappningsmallar, throttling per metod, användningsplaner med API-nycklar, cachelagring av svar, WAF-integration, X-Ray-spårning, resursprinciper och ömsesidig TLS med klientcertifikat. REST API:er stöder alla integrationstyper: Lambda, HTTP, AWS-tjänst, Mock och Lambda Proxy. Använd REST API när ni behöver avancerade funktioner som transformering, cachelagring eller användningsplaner.

HTTP API: alternativ med låg latens och låg kostnad

HTTP API utformades som ett enklare, billigare och snabbare alternativ till REST API. Det stöder endast integrationerna Lambda proxy och HTTP proxy—inga AWS-tjänsteintegrationer och ingen mock-integration. Viktiga fördelar är upp till 70 % lägre kostnad än REST API, lägre latens, inbyggd JWT-auktorisering med OIDC och OAuth 2.0 (ingen Lambda-auktoriserare behövs i vanliga autentiseringsscenarier) samt automatisk distribution. Om ni inte behöver cachelagring, användningsplaner eller transformering av begäran och svar är HTTP API det bättre valet.

# Create a simple HTTP API
aws apigatewayv2 create-api \
  --name 'MyHttpAPI' \
  --protocol-type HTTP \
  --target 'arn:aws:lambda:us-east-1:123456789012:function:MyLambda'

WebSocket API: dubbelriktad kommunikation i realtid

WebSocket API upprätthåller beständiga, dubbelriktade anslutningar mellan klienter och servern. Till skillnad från HTTP (begäran-svar) gör WebSocket att servern kan skicka meddelanden till anslutna klienter när som helst utan att klienten behöver polla. API Gateway hanterar WebSocket-anslutningar och routar meddelanden till Lambda-funktioner baserat på route-uttryck. Använd WebSocket-API:er för realtidsapplikationer: chattappar, liveinstrumentpaneler, samarbetsredigering, spel och aktiekurser i realtid.

WebSocket-rutter och anslutningshantering

WebSocket-API:er har tre inbyggda rutter: $connect (utlöses när en klient öppnar en anslutning), $disconnect (utlöses när en anslutning stängs) och $default (fångar meddelanden utan matchande route). Ni kan lägga till anpassade rutter som sendmessage och mappa dem till specifika Lambda-funktioner. Använd hanterings-API:t @connections för att skicka meddelanden tillbaka till anslutna klienter från er Lambda-funktion med hjälp av klientens anslutnings-ID.

# Send a message to a specific WebSocket client from Lambda
import boto3

gw_client = boto3.client(
    'apigatewaymanagementapi',
    endpoint_url='https://abc123.execute-api.us-east-1.amazonaws.com/prod'
)

def lambda_handler(event, context):
    connection_id = event['requestContext']['connectionId']
    gw_client.post_to_connection(
        Data='{"type": "message", "text": "Hello!"}',
        ConnectionId=connection_id
    )

Funktionsjämförelse: REST jämfört med HTTP och WebSocket

Viktiga skillnader i korthet:

  • REST API: alla funktioner (cachelagring, användningsplaner, transformeringar, WAF), högre kostnad och stöd för alla integrationstyper
  • HTTP API: endast Lambda-/HTTP-proxy, 70 % billigare, inbyggd JWT-autentisering, lägre latens och ingen cachelagring eller användningsplaner
  • WebSocket API: beständiga dubbelriktade anslutningar, stöd för push från servern och debitering per miljon meddelanden samt per minut anslutningstid

För SAA-C03-provet: HTTP-frågor utan realtid eller avancerade funktioner → HTTP API. Push i realtid → WebSocket. Komplexa API-funktioner → REST API.

Stages och distributioner

API Gateway-API:er distribueras till stages (till exempel dev, staging och prod). Varje stage har sin egen URL och sina egna throttling-inställningar och kan referera till en specifik distributionsögonblicksbild. Använd stage-variabler (ungefär som miljövariabler) för att parameterisera backend-endpointar per stage—peka till exempel dev-stage till ett dev-Lambda-alias och prod till prod-aliaset utan att duplicera API-konfigurationen.

# REST API: create a deployment and stage
aws apigateway create-deployment \
  --rest-api-id 'abc123' \
  --stage-name 'prod'

# Set stage variable
aws apigateway update-stage \
  --rest-api-id 'abc123' \
  --stage-name 'prod' \
  --patch-operations 'op=replace,path=/variables/lambdaAlias,value=prod'

Anpassade domännamn och mappningar av basvägar

Som standard innehåller API Gateway-URL:er API-ID:t (till exempel abc123.execute-api.us-east-1.amazonaws.com). För produktionsanvändning skapar ni ett anpassat domännamn med stöd av ett ACM-certifikat och mappar det till ert API och er stage. Använd mappningar av basvägar för att hantera flera API:er under en domän (till exempel api.example.com/orders → Orders API och api.example.com/users → Users API). Anpassade domännamn kräver en Route 53-aliaspost som pekar på API Gateway-endpointen.

Edge-optimerade, regionala och privata API:er

REST API:er kan distribueras med tre endpointtyper: Edge-Optimised (CloudFront som frontend för global distribution, standardalternativet), Regional (utan CloudFront, lägre latens för klienter i samma region eller när ni lägger till egen CloudFront) och Private (endast åtkomligt från ert VPC via en interface-VPC-endpoint, för interna mikrotjänster). HTTP API:er stöder Edge-Optimised och Regional. WebSocket API:er stöder Regional och Private. Välj Regional för API:er som används från samma region eller när ni använder egna CloudFront-distributioner.

Canary-distributioner med API Gateway

API Gateway REST API:er stöder canary-distributioner på en stage. Ni kan routa en procentandel av trafiken till en canary-distribution (en ny version) medan resten går till produktionsdistributionen. Övervaka felfrekvens och latens för canary-versionen och befordra den till 100 % om den är stabil. Om problem uppstår återställer ni genom att sätta canary-vikten till 0. Detta motsvarar viktad routing med Lambda-alias och möjliggör säkra, gradvisa API-uppdateringar utan att växla mellan blue/green-miljöer.

Välj rätt API-typ inför provet

Nyckelord i SAA-C03-frågor som hjälper er att identifiera API-typen: ”kostnadseffektivt enkelt API” → HTTP API; ”dubbelriktad kommunikation i realtid”, ”push från servern” eller ”chatt” → WebSocket API; ”transformering av begäran”, ”användningsplaner”, ”throttling av API-nycklar” eller ”cachelagring av svar” → REST API. När frågan helt enkelt gäller att exponera Lambda som en kostnadseffektiv HTTP-endpoint är HTTP API det bästa valet. När frågan omfattar komplexa funktioner för API-hantering eller partnerintegrationer är REST API vanligtvis rätt svar.

Snabbtest

Testa era kunskaper om AWS Solutions Architect-koncepten (SAA-C03) från den här lektionen.

Sammanfattning av lektionen

I den här lektionen har ni lärt er att REST API erbjuder hela API Gateways funktionsuppsättning (cachelagring, transformeringar, användningsplaner och WAF) till en högre kostnad, att HTTP API är 70 % billigare med inbyggd JWT-autentisering och lägre latens och passar för Lambda-/HTTP-proxyscenarier utan avancerade funktioner, samt att WebSocket API möjliggör push från servern i realtid över beständiga anslutningar för chatt-, spel- och applikationer med livedata. Härnäst utforskar vi API Gateway-integrationer med Lambda, HTTP-backendservrar och mock-svar.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”REST API jämfört med HTTP API och WebSocket API” gratis?

Ja – hela texten till ”REST API jämfört med HTTP API och WebSocket API” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”REST API jämfört med HTTP API och WebSocket API”?

Förstå avvägningarna mellan REST API (funktionsrikt), HTTP API (låg latens och låg kostnad) och WebSocket API (dubbelriktat) och välj lämpligt alternativ. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”REST API jämfört med HTTP API och WebSocket API”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. REST API jämfört med HTTP API och WebSocket API
  2. Integrationer: Lambda, HTTP och Mock
  3. Auktorisering: IAM, Lambda Authorizers och Cognito
  4. Strypning, cachning och användningsplaner
← Tillbaka till Cloud & IT Cert Prep