Edge computing med Cloudflare Workers och Deno · Lektion

Hantera HTTP-förfrågningar

Skriv en grundläggande Worker som fångar upp och besvarar HTTP-förfrågningar och demonstrerar kärnfunktionaliteten.

Lektion 2 av 411 steg

Hantera HTTP-förfrågningar är en gratis lektion i Edge computing med Cloudflare Workers och Deno på CoddyKit. Detta är lektion 2 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 Edge computing med Cloudflare Workers och Deno, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.

Workers och webbförfrågningar

Cloudflare Workers är kraftfulla verktyg som finns vid internets kant. Se dem som mycket effektiva grindvakter för din webbtrafik.

Deras huvudsakliga uppgift är att fånga upp inkommande HTTP-förfrågningar, bearbeta dem med din kod och sedan skicka tillbaka ett lämpligt HTTP-svar.

Förstå förfrågningen

Varje gång en användares webbläsare interagerar med din Worker tar den emot ett Request-objekt. Objektet innehåller alla detaljer om den inkommande förfrågningen:

  • URL: Den fullständiga webbadress som användaren försökte nå.
  • Method: HTTP-åtgärden, till exempel GET (hämta data) eller POST (skicka data).
  • Headers: Extra information som webbläsartyp, cookies och önskat språk.
  • Body: Data som skickas med förfrågningen, vilket är vanligt med metoderna POST eller PUT.

Fånga upp fetch-händelsen

Cloudflare Workers använder en händelselyssnare för att ”fånga upp” inkommande förfrågningar. Händelsen fetch utlöses för varje HTTP-förfrågan som når din Worker.

En Workers standardmässiga startpunkt är ett exporterat objekt med en async fetch-metod. Metoden tar emot objektet request som sitt första argument.

export default {
  async fetch(request, env, ctx) {
    // Your Worker logic goes here
    // The 'request' object holds all incoming request details
    return new Response("Hello from Worker!");
  }
}

Skapa ett enkelt svar

När din Worker har bearbetat en förfrågan måste den skicka tillbaka ett Response-objekt. Objektet innehåller innehållet och metadata som användarens webbläsare tar emot.

Ett grundläggande Response-objekt kan skapas genom att helt enkelt skicka en textsträng till dess konstruktor.

export default {
  async fetch(request, env, ctx) {
    const responseText = "Welcome to the edge!";
    return new Response(responseText);
  }
}

Ditt första ”Hello Worker!”

Nu kombinerar vi det vi har lärt oss för att skapa en enkel Worker som säger "Hello Cloudflare Worker!" för varje inkommande förfrågan.

Det här är den grundläggande struktur du kommer att använda för nästan alla Cloudflare Workers.

export default {
  async fetch(request, env, ctx) {
    return new Response("Hello Cloudflare Worker!");
  }
}

Titta på förfrågningens URL

Du kan komma åt olika egenskaper i objektet request för att få information om den inkommande förfrågningen. Till exempel ger request.url dig den fullständiga URL som efterfrågades.

Det gör att du kan skapa dynamiska svar baserat på den specifika sökväg eller de frågeparametrar som en användare försöker nå.

export default {
  async fetch(request, env, ctx) {
    const url = request.url;
    return new Response(`You requested: ${url}`);
  }
}

Svara på GET jämfört med POST

Egenskapen request.method anger vilken HTTP-metod som används (till exempel GET, POST, PUT eller DELETE). Ni kan använda den för att utföra olika logik beroende på typen av begäran.

En GET-begäran kan till exempel hämta data, medan en POST-begäran kan skicka data för att skapa något.

export default {
  async fetch(request, env, ctx) {
    if (request.method === "GET") {
      return new Response("This is a GET request.");
    } else if (request.method === "POST") {
      return new Response("This is a POST request.", { status: 201 });
    }
    return new Response("Method not allowed.", { status: 405 });
  }
}

Anpassade headers och status

Ni kan anpassa Response-objektet ytterligare genom att lägga till HTTP-headers eller ändra statuskoden. Det gör ni genom att skicka ett options-objekt som det andra argumentet till konstruktorn Response.

  • Headers: Innehåller metadata om svaret (till exempel Content-Type: text/plain).
  • Statuskod: Anger resultatet av begäran (till exempel 200 OK eller 404 Not Found).
export default {
  async fetch(request, env, ctx) {
    return new Response("Custom response!", {
      status: 200,
      headers: {
        "Content-Type": "text/plain",
        "X-Worker-Info": "Processed at the Edge"
      }
    });
  }
}

Hämta från en origin

Ofta fungerar er Worker som en proxy. Det innebär att den hämtar innehåll från en ”origin-server” (er faktiska webbplats eller API-backend) och eventuellt ändrar det innan det skickas till användaren.

Ni kan använda den globala funktionen fetch() och skicka med det ursprungliga request-objektet för att vidarebefordra begäran till en annan server.

export default {
  async fetch(request, env, ctx) {
    // Fetch the request from the origin server
    const response = await fetch(request);
    // You can modify the response here before returning it
    return response;
  }
}

Kontroll av Worker-svar

Ni bygger en Cloudflare Worker. Vilket av följande sätter korrekt svarskoden till 404 Not Found?

Sammanfattning: Hantera HTTP-begäranden

I den här lektionen har ni lärt er grunderna i Cloudflare Workers: hur de hanterar HTTP-begäranden och skickar tillbaka svar.

  • Workers fångar upp fetch-händelser.
  • Objektet Request innehåller alla data från den inkommande begäran.
  • Ni returnerar ett Response-objekt till användaren.
  • Ni kan komma åt information om begäran, till exempel URL och metod.
  • Svar kan ha anpassade statuskoder och headers.
  • Workers kan fungera som proxyservrar som hämtar innehåll från origin-servrar.

Härnäst får ni lära er stegen för att distribuera er första Worker till Cloudflares edge-nätverk så att den kan börja betjäna användare över hela världen!

Gratis att börja

Lär dig Edge computing med Cloudflare Workers och Deno 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
12
Lektioner
47

Vanliga frågor

Är lektionen ”Hantera HTTP-förfrågningar” gratis?

Ja – hela texten till ”Hantera HTTP-förfrågningar” 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 Edge computing med Cloudflare Workers och Deno, kan Ni uppgradera till CoddyKit PRO. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.

Vad lär jag mig i ”Hantera HTTP-förfrågningar”?

Skriv en grundläggande Worker som fångar upp och besvarar HTTP-förfrågningar och demonstrerar kärnfunktionaliteten. Ni övar på Edge computing med Cloudflare Workers och Deno 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 Edge computing med Cloudflare Workers och Deno?

Du behöver inga förkunskaper. Utbildningen i Edge computing med Cloudflare Workers och Deno 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 2 av 4.

Hur lång tid tar lektionen ”Hantera HTTP-förfrågningar”?

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 Edge computing med Cloudflare Workers och Deno-lektionen?

Ja. Varje Edge computing med Cloudflare Workers och Deno-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. Konfigurera Worker-miljön
  2. Hantera HTTP-förfrågningar
  3. Driftsätta er första Worker
  4. Miljövariabler och hemligheter i Workers
← Tillbaka till Edge computing med Cloudflare Workers och Deno