Obsah

    Odpověď serveru 307 Temporary Redirect

    Definice a účel statusového kódu 307

    Statusový kód 307 (Temporary Redirect) označuje dočasné přesměrování klienta na jinou URL adresu. Tento kód informuje klienta, že požadovaný zdroj je dočasně dostupný na jiném místě a že následné požadavky by měly být zasílány na novou URL, která je uvedena v hlavičce Location.

    307 - Temporary Redirect

    Popis statusového kódu 307

    Kód 307 je součástí skupiny statusových kódů přesměrování protokolu HTTP. Na rozdíl od trvalého přesměrování (kód 301) je 307 určen pro situace, kdy je změna URL pouze dočasná a může být v budoucnu obnovena na původní adresu.

    Situace, kdy se používá kód 307

    • Při údržbě webu, kdy je stránka dočasně přesunuta.
    • Při A/B testování různých uživatelských zážitků.
    • Při geografickém přesměrování uživatelů na lokalizovaný obsah.

    Rozdíl od jiných kódů přesměrování (301, 302)

    Kód Typ přesměrování Popis
    301 Trvalé Zdroj byl trvale přesunut na novou URL.
    302 Dočasné Zdroj je dočasně dostupný na jiné URL, ale může se vrátit na původní.
    307 Dočasné Podobně jako 302, avšak zachovává metodu HTTP (GET, POST).

    Praktické příklady použití statusového kódu 307

    Příklad 1: Dočasná aktualizace URL pro údržbu

    Ve scénáři, kdy je stránka dočasně přesměrována kvůli technickým pracím, může server vrátit kód 307. Například, pokud je potřeba provést údržbu na hlavní stránce, může být uživatel přesměrován na stránku s oznámením o údržbě.

    Jak implementovat na serveru

    V serverovém skriptu můžete použít následující kód:

    header("Location: https://example.com/maintenance", true, 307);

    Příklad 2: A/B testování

    Při A/B testování, kdy se porovnávají dva různé designy stránky, může být uživatel dočasně přesměrován na alternativní verzi.

    Jak implementovat na serveru

    Příklad kódu pro A/B testování:

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

    Příklad 3: Geolokační přesměrování

    Pokud chcete přesměrovat uživatele na lokalizovaný obsah na základě jejich geografické polohy, můžete použít kód 307.

    Jak implementovat na serveru

    Server může rozpoznat IP adresu a přesměrovat uživatele následovně:

    header("Location: https://example.com/cz", true, 307);

    Jak opravit chybu 307 v různých programovacích jazycích

    Příklad na Python (Flask)

    Kód vyvolávající chybu 307

    return redirect("https://example.com", code=307)

    Způsoby opravy

    Ujistěte se, že používáte správnou metodu HTTP při přesměrování.

    Příklad na JavaScript (Node.js s Express)

    Kód vyvolávající chybu 307

    res.redirect(307, "https://example.com");

    Způsoby opravy

    Zkontrolujte, zda přesměrování neprovádíte v nesprávném kontextu.

    Příklad na PHP

    Kód vyvolávající chybu 307

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

    Způsoby opravy

    Ujistěte se, že před voláním hlavičky nebyly odeslány žádné jiné výstupy.

    Chyby a problémy spojené s kódem 307

    Obvyklé chyby vedoucí k chybě 307

    • Nesprávné použití metody HTTP.
    • Chybějící nebo nesprávná hlavička Location.
    • Pokoušení se přesměrovat na neexistující URL.

    Jak se vyhnout nesprávnému použití statusového kódu 307

    Je důležité zajistit, aby přesměrování bylo skutečně dočasné a aby bylo správně implementováno v souladu s protokolem HTTP.

    Doporučení pro použití statusu 307

    Nejlepší praktiky pro implementaci dočasného přesměrování

    • Vždy používejte správnou metodu HTTP.
    • Zkontrolujte, zda je nová URL platná a dostupná.
    • Testujte přesměrování na různých zařízeních a prohlížečích.

    Tipy pro testování a ladění přesměrování

    Při testování použijte nástroje pro sledování síťového provozu, abyste ověřili, že přesměrování funguje správně a že klient obdrží očekávanou odpověď.