Innehåll

    Serversvar 307 Temporary Redirect

    HTTP-statuskod 307 (Temporary Redirect)

    HTTP-statuskod 307 indikerar att en klient bör tillfälligt omdirigeras till en annan URL. Denna kod används för att informera klienten om att den begärda resursen tillfälligt är tillgänglig på en annan adress, och att efterföljande förfrågningar ska skickas till den nya URL:en som anges i Location-headern.

    307 - Temporary Redirect

    Definition och syfte med statuskod 307

    • Beskrivning av statuskod 307: Statuskoden 307 representerar ett tillfälligt omdirigeringstillstånd där den ursprungliga begäran ska bevaras.
    • Situationen där kod 307 används: Den används typiskt när en resurs tillfälligt har flyttats, exempelvis under underhåll eller uppdateringar.
    • Skillnad från andra omdirigeringskoder (301, 302): Till skillnad från 301 (permanent omdirigering) och 302 (tillfällig omdirigering) säkerställer 307 att HTTP-metoden och eventuella meddelandeinnehåll inte ändras.

    Praktiska exempel på användning av statuskod 307

    Exempel 1: Tillfällig uppdatering av URL för underhåll

    Vid tekniska arbeten kan en webbplats tillfälligt omdirigera användare till en underhållssida. Om en användare begär sidan /tjanster kan servern svara med:

    HTTP/1.1 307 Temporary Redirect
    Location: https://example.com/underhall

    För att implementera detta på servern kan man använda följande kod:

    response.status(307).redirect('https://example.com/underhall');

    Exempel 2: A/B-testning

    Vid tester av användarupplevelsen kan en del av trafiken tillfälligt omdirigeras till en annan version av en sida. Till exempel kan användare som besöker /hem omdirigeras till /hem-test:

    HTTP/1.1 307 Temporary Redirect
    Location: https://example.com/hem-test

    Serverimplementation kan se ut som följer:

    response.status(307).redirect('https://example.com/hem-test');

    Exempel 3: Geolokalisering omdirigering

    För att ge användare lokalanpassat innehåll kan en server omdirigera användare baserat på deras plats. Om en användare från Sverige begär en resurs kan servern svara med:

    HTTP/1.1 307 Temporary Redirect
    Location: https://example.com/sv

    Implementeringen kan göras med:

    response.status(307).redirect('https://example.com/sv');

    Hur man åtgärdar fel 307 på olika programmeringsspråk

    Exempel på Python (Flask)

    Kod som orsakar fel 307 kan se ut så här:

    return redirect('/ny-url', code=307)

    För att åtgärda detta, se till att den nya URL:en är korrekt och att korrekt HTTP-metod används. Rätt kod kan vara:

    return redirect('https://example.com/ny-url', code=307)

    Exempel på JavaScript (Node.js med Express)

    Kod som orsakar fel 307 kan se ut så här:

    res.redirect(307, '/ny-url');

    För att åtgärda detta, kontrollera om resursen är tillgänglig och korrekt. Exempel på rätt kod:

    res.redirect(307, 'https://example.com/ny-url');

    Exempel på PHP

    Kod som orsakar fel 307 kan se ut så här:

    header("Location: /ny-url", true, 307);

    Rättelse kan göras genom att säkerställa att URL:en är korrekt:

    header("Location: https://example.com/ny-url", true, 307);

    Fel och problem relaterade till kod 307

    • Vanliga fel som leder till fel 307: Felaktiga URL:er, bristande HTTP-metodkonformitet.
    • Hur man undviker felaktig användning av statuskod 307: Se alltid till att använda rätt metod och att URL:er är aktuella.

    Rekommendationer för användning av status 307

    • Bästa praxis för implementering av tillfälliga omdirigeringar: Använd alltid statuskod 307 när den ursprungliga begäran ska bevaras.
    • Tips för testning och felsökning av omdirigeringar: Använd verktyg för att kontrollera HTTP-responser och bekräfta att omdirigeringarna fungerar som avsett.