308 Permanent Redirect

Powtórz to samo żądanie pod nowym, stałym URL-em.

Kiedy go używać

Jak 301, ale metoda i treść nie mogą się zmienić.

Warto wiedzieć

308 to stała wersja 307: wyszukiwarki traktują go jak 301 i przenoszą sygnały rankingowe, ale metoda i treść nie mogą się zmienić. Używaj go dla endpointów API, które przyjmują POST, PUT lub PATCH i zostały przeniesione na dobre. Przeglądarki cache'ują go jak 301, więc obowiązuje ta sama ostrożność: błędne 308 może długo tkwić w przeglądarkach użytkowników.

Next.js odpowiada 308 dla przekierowań oznaczonych jako permanent i przy normalizacji końcowego ukośnika, co zaskakuje osoby czytające logi. Bardzo stare klienty, takie jak Internet Explorer 11 na Windows 7, nie rozumieją 308; jeśli nadal je obsługujesz, używaj 301 dla zwykłych stron GET. Podobnie jak 301, odpowiedź 308 jest domyślnie cache'owalna, więc dodaj Cache-Control: max-age, dopóki testujesz nowe przekierowanie.

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 308 Permanent Redirect

Jak go wysłać

Node.js / Expressres.redirect(308, '/new-url')
Python / Flaskreturn redirect('/new-url', code=308)
nginxreturn 308 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