302 Found

Zasób jest tymczasowo pod innym URL-em.

Kiedy go używać

Krótkotrwałe przekierowania. Klient może zmienić POST na GET; aby było jednoznacznie, wybierz 303 lub 307.

Warto wiedzieć

Używaj 302, gdy pierwotny URL wróci: tymczasowa strona serwisowa, test A/B, przekierowanie do logowania lub wybór języka. Wyszukiwarki zachowują w indeksie pierwotny URL, choć Google zaczyna traktować 302 utrzymywane miesiącami jak stałe. Przeglądarki nie cache'ują 302, chyba że każe im to Cache-Control lub Expires, co czyni go bezpiecznym wyborem, dopóki testujesz przekierowania.

Przeglądarki od dawna zamieniają POST na GET, podążając za 302, i odrzucają treść, a specyfikacja teraz na to pozwala. Jeśli metoda musi zostać zachowana, użyj 307; po wysłaniu formularza użyj 303, by wyrazić to jawnie. Częsty błąd to pętla przekierowań między http i https albo między www a domeną bez www, często powodowana przez proxy lub tryb Flexible SSL w Cloudflare. Prześledź łańcuch poleceniem curl -IL.

Przekierowanie (3xx)

Kody 3xx to przekierowania: aby dokończyć żądanie, klient musi przejść gdzie indziej albo użyć kopii z pamięci podręcznej.

Jak to wygląda

HTTP/1.1 302 Found

Jak go wysłać

Node.js / Expressres.redirect(302, '/new-url')
Python / Flaskreturn redirect('/new-url', code=302)
nginxreturn 302 https://example.com$request_uri;

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP