TrueURL

307 Temporary Redirect

Przekierowanie tymczasowe: żądanie trzeba powtórzyć pod adresem z Location tą samą metodą i treścią, w odróżnieniu od 302, które może zmienić POST w GET.

Opis słowny
Temporary Redirect
Przekierowanie
Tak
Domyślne buforowanie
Nie

307 Temporary Redirect oznacza, że zasób docelowy tymczasowo znajduje się pod adresem URL z nagłówka Location, a klient, podążając za przekierowaniem, nie może zmienić metody żądania. POST pozostaje żądaniem POST z tą samą treścią, a PUT – żądaniem PUT. Kolejne żądania nadal powinny trafiać pod pierwotny adres URL. Odpowiedź 307 domyślnie nie trafia do pamięci podręcznej.

HTTP/1.1 wprowadził kod 307, aby usunąć niejednoznaczność kodu 302 Found, za którym przeglądarki po żądaniu POST podążają metodą GET. Używaj go przy tymczasowych przekierowaniach endpointów API, przesyłania plików i formularzy wysyłanych metodą POST oraz wszędzie tam, gdzie metoda musi zostać zachowana.

W narzędziach deweloperskich przeglądarki możesz zobaczyć 307 Internal Redirect po wpisaniu adresu http:// witryny, która korzysta z HSTS. To przekierowanie generuje sama przeglądarka na podstawie swojej listy HSTS – żądanie w ogóle nie trafia do serwera, a własne przekierowanie serwera może być równie dobrze kodem 301. Sprawdzenie po stronie serwera, np. narzędziem TrueURL Sprawdzanie przekierowania na HTTPS, pokazuje, co faktycznie wysyła serwer.

Przykładowa odpowiedź

HTTP
HTTP/1.1 307 Temporary Redirect
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://eu.api.example.com/v1/upload
Cache-Control: no-store
Content-Length: 0

SEO i sprawdzanie przekierowań

Google traktuje 307 tak jak 302: jako przekierowanie tymczasowe i słaby sygnał kanoniczności, więc pierwotny adres URL zwykle pozostaje w indeksie. To właściwe w sytuacjach tymczasowych; przy przeniesieniach na stałe używaj 308 lub 301. Niektóre frameworki domyślnie generują 307. Next.js używa na przykład 307 dla przekierowań z permanent: false i 308 dla permanent: true, więc sprawdź, który kod generuje Twoja konfiguracja.

Typowe przyczyny i zastosowania

  • Endpoint API lub endpoint do przesyłania plików został tymczasowo przeniesiony, a treść żądań POST musi przetrwać przekierowanie.
  • Prace serwisowe, równoważenie obciążenia lub routing regionalny na jakiś czas kierują żądania gdzie indziej.
  • Domyślne przekierowanie tymczasowe frameworka, np. w Next.js z permanent: false albo RedirectResponse w Starlette i FastAPI.
  • „307 Internal Redirect” dla HSTS w narzędziach deweloperskich przeglądarki, który pochodzi od przeglądarki, a nie od serwera.

Sprawdzanie przekierowań 301

Zobacz wszystkie kody odpowiedzi, jakie zwraca adres URL, przeskok po przeskoku, w darmowym narzędziu TrueURL do sprawdzania przekierowań.